我注意到一个现象,不少团队在做完 iOS 应用打包后,对上架和分发的区别不是很清楚。App Store 发布、TestFlight 内测、Ad Hoc 企业分发,三种方式用的证书和描述文件都不一样,走错了会导致上传失败或者装不上。这篇 iOS App分发教程把三种分发方式的配置方法拆开讲清楚。
App Store 发布
App Store 发布是面向所有用户的正式上架,应用审核通过后出现在 App Store 供所有人下载。需要 Distribution 证书配合 App Store 类型的描述文件。打包在 Xcode 里 Product → Archive 导出 .ipa,通过 Xcode Organizer 或 Transporter 上传到 App Store Connect。上传后等 5-15 分钟让苹果处理,构建版本不显示时先检查版本号是否重复。手头没有 Mac 的话可以用 Appuploader 在 Windows 上直接生成证书和描述文件,再上传 .ipa 到商店。上传后在 App Store Connect 填写应用名称、描述、关键词、隐私政策链接,截图按 6.5 英寸和 5.5 英寸准备两套。全部填完后提交审核,通过后应用在 App Store 上架面向所有用户公开下载。被拒后根据反馈修改对应问题重新提交即可。
TestFlight 内测分发
TestFlight 是苹果官方的 beta 测试方案,适合在正式上架前收集真实用户反馈。内部测试最多邀请 100 位团队成员,不需要经过审核即可分发。外部测试最多 10000 人,应用需要经过 Beta App Review 审核,通过后生成公开测试链接。打包时同样用 Distribution 证书和 App Store 类型的描述文件,上传到 App Store Connect 后在 TestFlight 页签中开启测试、添加测试者邮箱。测试者通过 TestFlight App 安装应用,每次上传新版本会自动通知更新。TestFlight 适合发版前做小范围验证,收集真实用户反馈。它不提供性能监控和崩溃分析,这方面需要配合其他工具。
Ad Hoc 企业分发
Ad Hoc 分发不上架 App Store,通过打包好的 .ipa 直接安装到指定设备上。需要用 Distribution 证书配合 Ad Hoc 类型的描述文件,描述文件里绑定了能安装的设备 UDID 列表,最多 100 台。超过 100 台的话需要用企业证书或考虑 TestFlight。新增测试设备时 UDID 可以自动读取连电脑的手机,不用逐个手动输入那串长标识符。新增设备时 UDID 可以自动读取连电脑的手机,不用手动输入。打包生成 .ipa 后通过邮件或分发平台发给测试者安装。适合内部团队测试或给特定客户验证。
三种分发的关键区别
App Store 类型描述文件不限制设备数,适合公开发布。Ad Hoc 最多绑定 100 台设备 UDID,适合小范围内部测试。TestFlight 外部测试最多 10000 人,适合收集反馈。证书方面 App Store 和 Ad Hoc 都用 Distribution 证书。Development 证书只适合真机调试,不能用于分发。上传工具方面 Xcode Organizer 和 Transporter 限 Mac 环境,Appuploader 支持在 Windows 和 Linux 上直接上传。三种分发可以按需组合使用,不同阶段用不同的方式覆盖不同范围的用户。这篇 iOS App分发教程提到的三种方式覆盖了从开发测试到正式上线的不同阶段需求。