iOS云打包之Shorebird

文章目录

  • 前言
  • 一、Shorebird是什么?
  • 二、使用步骤
    • [1. 先在\*\*Shorebird\*\*(https://shorebird.dev/)平台注册账号](#1. 先在Shorebird平台注册账号)
    • [2. 安装 **Shorebird**](#2. 安装 Shorebird)
    • [3. 终端登录 **Shorebird**账户](#3. 终端登录 Shorebird账户)
    • [4. 初始化项目,终端进入已有的Flutter项目目录,执行](#4. 初始化项目,终端进入已有的Flutter项目目录,执行)
    • [5. 创建一个release版本(提交审核使用),以android为例,可以指定flutter的构建版本。](#5. 创建一个release版本(提交审核使用),以android为例,可以指定flutter的构建版本。)

前言

由于苹果规定:自2025年4月24日起,所有上传至 App Store Connect 的App都必须使用Xcode 16打包,并且所有iOS和iPadOS App必须使用iOS 18 SDK或更高版本进行构建‌。

奈何楼主Mac电脑最大支持的Xcode15,换电脑又肉疼,想着是否可以使用云打包技术,提交审核,然后就开始了探索之路。

最后选择一条路,通过Codemagic平台进行打包。此时必不可少的是Shorebird


一、Shorebird是什么?

使用Flutter前创始人 Eric 的商业项目Shorebird ,只更新补丁的小部分代码,甚至只有几K的大小,对性能影响很小,并且合规,二进制更新主要在Dart VM层面。

Android:GooglePlay平台更新可执行文件,不限制与虚拟机和解释器中运行的代码。

iOS:不允许任何可执行文件动态下载,Shorebird实现了将补丁代码,通过解释器在Dart VM上运行。

一句话概括:实现了将补丁代码,通过解释器在Dart VM上运行。

  • 使用场景:
    刚更新到线上的版本,特别是大版本,发现一个小问题时,如何快速修复?`
    不更新资源,只更新部分Dart逻辑代码时,如何解决?

二、使用步骤

1. 先在Shorebird平台注册账号

2. 安装 Shorebird

复制代码
  - Mac/Linux使用
	```cpp
	curl --proto '=https' --tlsv1.2 https://raw.githubusercontent.com/shorebirdtech/install/main/install.sh -sSf | bash
	```

  - Windows使用
	```cpp
	Set-ExecutionPolicy RemoteSigned -scope CurrentUser # Needed to execute remote scripts
	iwr -UseBasicParsing 'https://raw.githubusercontent.com/shorebirdtech/install/main/install.ps1'|iex
	```

3. 终端登录 Shorebird账户

复制代码
```cpp
 shorebird login
```

4. 初始化项目,终端进入已有的Flutter项目目录,执行

复制代码
```cpp
shorebird init
```

5. 创建一个release版本(提交审核使用),以android为例,可以指定flutter的构建版本。

复制代码
```cpp
// 生成可提供上线审核的.aab文件
shorebird release android --flutter-version=3.22.1  

// 同时生成可提供上线审核.aab和.apk文件
shorebird release android --artifact=apk --flutter-version=3.22.1
```
执行如下,中间需要选择是否继续,输入Y就行了,最后如图就说明执行成功了。
复制代码
然后回到**Shorebird**平台上,可以看到我们项目的这个release版本了。
相关推荐
茶底世界之下1 天前
为什么预览、录制、离线导出不能共享同一个背压策略?
ios·swift
2501_916007471 天前
苹果商店iOS应用上架费用全面解析:开发者计划与审核费用计算
android·ios·小程序·https·uni-app·iphone·webview
2501_916008891 天前
如何实现iOS App代码混淆:SwiftShield使用指南
android·ios·小程序·https·uni-app·iphone·webview
2501_915909061 天前
移动端开发工具链怎么组合比较好,iOS、Android、跨端三套配置方案
ide·vscode·ios·objective-c·个人开发·swift·敏捷流程
2501_916008891 天前
怎么用 Godot 导出 iOS 应用并上架 App Store?签名字段该填什么?
android·ios·小程序·https·uni-app·iphone·webview
2501_915918412 天前
iOS编程用什么软件好?主流工具Xcode、AppCode、CodeRunner与新兴快蝎对比
ide·vscode·ios·objective-c·个人开发·swift·敏捷流程
终端安全笔记2 天前
iOS 27 之后「策略空转」:设备升级不报错,但旧策略不再管它
android·网络·安全·ios·智能手机
9765033352 天前
iOS 上架 4.3a 被拒【uniapp专讲】
flutter·ios·objective-c·uniapp·swift
黑化旺仔3 天前
【OC】KVO
macos·ios·objective-c·cocoa
HouWan3 天前
SwiftUI 小技巧:如何读取 SwiftUI Font 的详细信息
ios·swiftui·apple