讨论 iOS 上架工具时,经常会看到很多单独的工具名称,例如 Xcode、Fastlane、Transporter 等。但在实际项目中,发布流程可以由多个工具完成。
如果把 iOS 应用发布拆开,可以得到几个阶段:
- 证书与描述文件准备
- 应用构建生成 IPA
- 上传 App Store
- 审核提交
如果每个阶段都对应一个工具,流程会更容易理解,也更容易排查问题。
一、准备应用信息与 Bundle ID
发布流程的第一步不是本地环境,是在 Apple 后台。
登录 Apple Developer 后台后,需要确认:
- 已开通开发者账号
- 已创建 App ID(Bundle ID)
Bundle ID 会贯穿整个流程:
- 描述文件绑定它
- 打包签名使用它
- App Store Connect 中的应用记录也使用它
如果后续打包使用的 Bundle ID 与后台不一致,上传后的构建不会出现在应用列表。
二、生成证书文件
上架 App Store 需要 Distribution 证书。
生成证书的方法有两种:
- 在 Apple Developer 后台生成 CSR 并申请证书
- 使用工具生成证书文件
如果团队成员使用不同系统,可以使用 AppUploader(开心上架) 在 Windows 或 macOS 上生成证书。
在 AppUploader 中:
- 登录 Apple 开发者账号
- 打开「证书管理」
- 点击新增证书
- 选择
distribution类型 - 设置证书名称与 p12 密码
生成后下载 .p12 文件。
这个文件可以直接用于打包签名。
三、创建描述文件
证书准备完成后,需要创建 Provisioning Profile。
描述文件包含三部分信息:
- Bundle ID
- 证书
- 应用运行权限
如果是上架版本,需要选择 App Store 类型描述文件。
在 AppUploader 中:
- 打开「描述文件管理」
- 新建描述文件
- 选择
App Store类型 - 绑定 Distribution 证书
- 选择对应 Bundle ID
生成后下载 .mobileprovision 文件。
四、构建 IPA 文件
构建 IPA 的方式取决于项目开发环境。
Xcode 项目
在 Xcode 中执行:
- 打开项目
- 设置 Signing & Capabilities
- 选择 Distribution 证书
- Archive
- 导出 App Store 类型 IPA
导出后会得到 .ipa 文件。
使用 Fastlane 构建
如果项目已经接入 Fastlane,可以使用:
lane :release do
build_app(
scheme: "AppScheme",
export_method: "app-store"
)
end
执行:
fastlane release
Fastlane 会调用 Xcode 完成构建。
五、在设备上验证 IPA
在上传之前,可以先安装到测试设备。
验证方式包括:
- Xcode Devices
- Apple Configurator
- AppUploader 安装测试
在 AppUploader 中:
- 打开「安装测试」
- 选择 IPA 文件
- 连接设备
- 点击安装
如果安装失败,需要检查:
- 描述文件类型
- Bundle ID
- 证书匹配情况
六、上传 IPA 到 App Store
上传工具可以选择:
- Xcode Organizer
- Apple Transporter
- Fastlane deliver
- AppUploader 上传工具
使用 AppUploader 上传时:
- 打开提交上传页面
- 设置 Apple 专用密码
- 选择 IPA 文件
- 选择上传通道
- 点击上传
上传成功后,在 App Store Connect 中会出现新的构建版本。
七、提交审核
构建出现后,需要在 App Store Connect 中完成审核信息:
- 应用描述
- 关键词
- 应用截图
- 隐私政策
选择对应构建版本,然后提交审核。
审核结果会通过 Apple 邮件通知。
上架工具在整个流程中的角色
在实际项目中,各个工具有不同作用:
| 阶段 | 工具 |
|---|---|
| 证书生成 | AppUploader |
| 描述文件生成 | AppUploader |
| 应用构建 | Xcode / Fastlane |
| IPA 上传 | AppUploader / Transporter |
| 审核提交 | App Store Connect |
通过这种方式,流程被拆分成多个环节。