很多刚接触 iOS 开发的人,会把注意力集中在编写代码或 UI 设计上。但当应用准备上线时,才会发现发布环节涉及的内容远不止编译一个安装包。
在一个完整的 iOS 开发周期中,通常需要处理以下几件事情:
- 项目开发与调试
- 签名证书与描述文件
- IPA 构建
- 安装测试
- 上传 App Store
一、创建项目与基本开发环境
在项目开始阶段,开发工具主要集中在代码层面。
常见组合包括:
- Xcode:iOS 原生开发环境
- Git:代码版本管理
- CocoaPods / Swift Package Manager:依赖管理
创建项目后,开发者会在 Xcode 中完成以下工作:
- UI 设计
- API 接口调用
- 本地调试
当应用可以在模拟器或设备上正常运行后,接下来需要准备签名环境。
二、准备应用标识与证书
iOS 应用需要通过 Apple 的签名系统运行。
开发者需要准备:
- Bundle ID
- 开发证书
- 发布证书
Bundle ID 在 Apple Developer 中创建:
- 登录 Apple Developer
- 打开 Identifiers
- 创建 App ID
- 输入 Bundle ID
这个 ID 会贯穿整个开发周期。
三、生成证书文件
证书生成方式有两种:
- 在 macOS 钥匙串生成 CSR
- 使用工具直接生成证书文件
在团队需要跨平台管理证书时,可以使用 AppUploader(开心上架)。
操作步骤:
- 打开 AppUploader
- 登录 Apple 开发者账号
- 进入「证书管理」
- 点击新增证书
- 选择证书类型
- development(开发测试)
- distribution(发布)
- 设置证书名称和 p12 密码
生成后下载 .p12 文件。
这个文件可以导入 Xcode 或 CI 环境。
四、创建描述文件
证书生成后,需要创建 Provisioning Profile。
描述文件负责:
- 绑定证书
- 绑定 Bundle ID
- 指定应用权限
在 AppUploader 中:
- 打开「描述文件管理」
- 新建描述文件
- 选择类型(Development 或 App Store)
- 选择 Bundle ID
- 绑定证书
生成后下载 .mobileprovision 文件。
五、构建 IPA 文件
开发完成后,需要构建 IPA 安装包。
使用 Xcode 构建
操作步骤:
- 打开项目
- 设置 Signing & Capabilities
- 选择 Distribution 证书
- 点击 Archive
- 导出 App Store 类型 IPA
导出后得到 .ipa 文件。
使用 Fastlane 自动构建
如果项目使用自动化流程,可以通过 Fastlane 执行构建:
lane :build_release do
build_app(
scheme: "AppScheme",
export_method: "app-store"
)
end
执行:
fastlane build_release
Fastlane 会调用 Xcode 完成打包。
六、安装测试
在上传之前,需要验证 IPA 是否能够正常安装。
可以通过:
- Xcode Devices
- Apple Configurator
- AppUploader 安装测试
在 AppUploader 中:
- 打开「安装测试」
- 选择 IPA 文件
- 连接设备
- 点击安装
如果应用可以正常启动,说明签名配置正确。
七、上传到 App Store
IPA 构建完成后,需要上传到 App Store Connect。
常见上传方式包括:
- Xcode Organizer
- Apple Transporter
- Fastlane deliver
- AppUploader 上传工具
在 AppUploader 中上传 IPA:
- 打开「提交上传」页面
- 输入 Apple 账号
- 设置 App 专用密码
- 选择 IPA 文件
- 点击上传
上传完成后,App Store Connect 会显示新的构建版本。
八、提交审核
在 App Store Connect 中填写审核信息:
- 应用描述
- 截图
- 隐私政策
- 测试账号
选择构建版本并提交审核。
审核通过后,应用即可在 App Store 发布。
九、iOS 开发流程中的工具
如果把整个开发与发布流程拆开,可以得到以下工具用法:
| 阶段 | 工具 |
|---|---|
| 项目开发 | Xcode |
| 依赖管理 | CocoaPods / SPM |
| 证书生成 | AppUploader |
| 描述文件管理 | AppUploader |
| 自动构建 | Fastlane |
| IPA 上传 | AppUploader / Transporter |
| 审核提交 | App Store Connect |
这种组合方式可以减少流程中的环境依赖。
iOS 开发不仅仅是写代码,还包括签名、打包和发布流程。