返回博客列表
开发

iOS 应用发布流程入门指引

刚开始做 iOS 独立开发时,发布应用总是让人头大。这里分享一套简单实用的发布流程,帮新手开发者少走弯路,顺利完成第一次(以及之后每次)的应用发布。

2025/9/25
8 分钟阅读
分享:
iOS 应用发布流程入门指引

作为一名 iOS 独立开发者,回想起第一次发布应用时的手忙脚乱,真是一把辛酸泪。其实发布流程本身并不复杂,主要是一些细节容易遗漏,导致各种小问题。这里分享一套我现在在用的简单流程,特别适合刚入门的同学。

为什么要有个发布流程

刚开始的时候,我觉得发布应用很简单:改代码 → 打包 → 上传。结果第一次就翻车了:

  • 版本号忘更新:Widget 的版本号忘了改,构建失败
  • Bundle ID 搞错:Widget 的 Bundle ID 前缀不对,报错
  • 测试版本搞混:不知道手机上装的是哪个版本(特别是 Xcode 直接编译到真机上后)
  • 构建失败不知道咋办:改完代码不知道是重新提交还是覆盖

其实这些都是些小问题,但经常出现也会搞的人很烦躁,所以有个简单的检查清单就能避免。

准备工作

Xcode Cloud:自动化构建

建议使用 Xcode Cloud 来自动化构建和测试。这样每次提交代码后,Xcode Cloud 会帮你自动打包上传到 App Store Connect,省去很多麻烦。

参考:Xcode Cloud 官方文档

同时维护两个版本

这个技巧比较实用,我会维护两套配置:

  1. 正式版本:发布用的,标准 Bundle ID,在 main、release/* 分支上使用
  2. Beta 版本:开发测试用,Bundle ID 带 .beta 后缀,应用名字加个 * 号,在 develop、feature/* 分支上使用

Beta 版本应用名字后面加个 * 号,是因为从 TestFlight 上安装还好,应用名称会带一个圆点前缀,但是如果从 Xcode 直接构建到真机上会没有任何显著标识,导致很难快速区分正式版和 Beta 版。

同时在 App Store Connect 上创建两个应用记录,一个用于正式发布,一个用于 Beta 测试。

这样做的好处?

主要是测试的时候不会覆盖手机上的正式版本,可以同时装两个版本对比。

举个例子:

  • 正式版本:com.yourcompany.yourapp
  • Beta 版本:com.yourcompany.yourapp.beta

这样就能在手机上同时装两个版本了,而且因为 Bundle ID 不同,数据也是相互独立的(使用了 App Group 共享数据的除外)。

发布流程(6 个简单步骤)

步骤 1:准备发布版本

1. 创建发布分支(可选)

如果你用 git flow:

git flow release start v1.2.0

不用 git flow 的话,从 develop 分支创建一个新分支就行。

2. 检查版本配置 这是最重要的一步,逐个检查:

  • 打开 Xcode → Project → 每个 Target → General
  • 更新 Version 字段到新版本号
  • 检查 Bundle Identifier(发布版本不要带 .beta
  • 确认 Display Name 正确

3. Widget Bundle ID 检查 如果有 Widget,确保它的 Bundle ID 以主应用的为前缀:

主应用:com.yourcompany.yourapp
Widget:com.yourcompany.yourapp.widget

Widget 的 Bundle Identifier 必须以主应用的 Bundle Identifier 为前缀,否则会出现 "Embedded binary's bundle identifier is not prefixed with the parent app's bundle identifier" 错误。

4. 编译测试 CMD + B 编译一下,没问题再继续。

步骤 2: App Store Connect 配置

  1. 登录 App Store Connect
  2. 创建新版本(如果还没创建的话)

步骤 3:提交代码

5. 提交更改

git add .
git cz
# 或者如果不用 commitizen
git commit -m "build: release v1.2.0"
git push

步骤 4:构建和测试

6. 等待构建完成 如果你用 Xcode Cloud,等构建完成;如果手动打包,Archive 后上传到 App Store Connect。

7. TestFlight 测试 通过 TestFlight 下载构建好的版本,在真机上测试一遍。

步骤 5:收尾

8. 合并代码

如果用 git flow:

git flow release finish v1.2.0

不用 git flow 的话,手动合并到 main 分支。

步骤 6:发布

9. App Store Connect 配置补全

10. 清理开发分支 如果你用双版本配置,记得把开发分支改回 Beta 版本的配置。

git checkout develop
git revert xxx # 撤销发布版本的配置更改

几个常见问题

1. 构建失败了怎么办?

  • 配置问题(版本号、Bundle ID 等):修改后用 git commit --amend 覆盖提交
  • 代码问题:正常提交新的 commit 修复

2. 要不要每次都测试?

建议每次都要,哪怕是很小的更新。TestFlight 很方便。

3. 版本号管理

所有 Target(主应用、Widget、扩展)的版本号都要保持一致。

4. Bundle ID 配置

如果用双版本配置,建议用 Xcode 的 Configuration 来管理,不要手动改。

推荐工具

  • Git Flow:分支管理,可选但很实用
  • Git Commitizen:规范化提交信息
  • Xcode Cloud:自动构建,省心
  • Xcode Configurations:管理不同环境配置

写在最后

这套流程虽然看起来有好几个步骤,但其实很简单,核心就是:检查配置 → 提交代码 → 构建测试 → 发布审核。

每个人的项目情况不一样,你可以根据自己的需要调整。但最重要的是要有个固定的流程,避免每次发布都手忙脚乱。

希望这个入门指引能帮到刚开始做 iOS 开发的同学,早点熟悉发布流程,把更多时间花在产品本身上。

#iOS#Xcode#App Store#发布流程#开发经验