我注意到一个现象不少团队在做完 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分发教程提到的三种方式覆盖了从开发测试到正式上线的不同阶段需求。