在 iOS 应用的打包签名过程中,Xcode 提供了多种 导出类型(Export Options),这些类型决定了应用的目标平台和用途。每个类型适用于不同的场景和部署方式。下面是每种导出类型的详细解释和适用场景:
1. app-store
- 用途:用于将应用上传到 App Store。
- 场景:当你准备将应用发布到 App Store 上供公众下载时,使用此选项。此导出类型会要求应用符合所有 App Store 的审查要求,且必须使用适合发布的证书和描述文件。
- 签名:使用 App Store 证书签名。
- 描述:最常用于正式发布应用,必须通过 Apple 审查。
2. app-store-connect
- 用途:将应用上传到 App Store Connect(以前叫 iTunes Connect),但不直接发布到 App Store。
- 场景:用于提交应用给 Apple 进行审查或管理应用版本。例如,当你需要为应用提交一个新版本或进行测试(例如 TestFlight 测试)时,选择这个选项。
- 签名:使用 App Store 证书签名,适用于需要上传到 App Store Connect 但不立即公开发布的情况。
- 描述:适用于上传并管理测试版或正式版应用,不立即发布。
3. ad-hoc
- 用途:用于 Ad-Hoc 分发,即分发应用给指定的设备进行测试。
- 场景:当你想要将应用分发给一些测试人员,但不是通过 App Store 或企业分发。Ad-Hoc 分发要求在 Apple Developer 账户中注册设备的 UDID,最多可以支持 100 个设备。
- 签名:使用开发者证书签名,并且描述文件会包含设备的 UDID。
- 描述:常用于在外部团队、beta 测试者等设备上进行分发和测试。
4. release-testing
- 用途:用于内部测试和 QA 测试。
- 场景:适用于内部团队或测试人员测试应用的新版本,通常不会像 Ad-Hoc 分发那样受到设备数量限制。可以包含特定的权限和调试选项。
- 签名:使用 App Store Connect 证书签名。
- 描述:用于组织内部测试,通常在应用准备好发布之前进行更广泛的测试。
5. enterprise
- 用途:用于 企业内部分发,例如企业自有应用。
- 场景:当你需要将应用分发到企业内部(即组织内的员工或合作伙伴)时使用。企业开发者账户允许不受设备数量限制地分发应用。
- 签名:使用企业证书签名,适用于企业内部使用。
- 描述:适用于企业应用分发,常用于内部员工、合作伙伴和非公众分发。
6. development
- 用途:用于 开发过程中的分发,例如在本地开发和调试过程中安装到设备上。
- 场景:当你需要在开发过程中,将应用安装到连接的测试设备上进行测试或调试时使用。
- 签名:使用开发证书签名,设备需要在描述文件中注册。
- 描述:适用于开发人员进行开发和调试,且可以在多个设备上测试。
7. debugging
- 用途:用于 调试过程中的分发,通常包含更多的调试信息和日志。
- 场景:当你需要在开发过程中进行调试时,使用此选项。通常包含详细的调试符号和日志信息。
- 签名:使用开发证书或调试证书签名。
- 描述:适用于开发阶段,调试时需要详细的日志和诊断信息。
总结
导出类型 | 用途 | 适用场景 |
---|---|---|
app-store | 上传到 App Store | 上架到 App Store 供用户下载 |
app-store-connect | 上传到 App Store Connect | 提交应用或新版本到 App Store Connect |
ad-hoc | Ad-Hoc 分发 | 小范围内部或外部设备的测试 |
release-testing | 内部 QA 测试 | 内部测试、团队成员间的版本测试 |
enterprise | 企业内部分发 | 企业级应用的内部分发,适合公司内部使用 |
development | 开发阶段分发 | 开发过程中在设备上进行调试和测试 |
debugging | 调试版本 | 带有详细调试信息的版本,适合开发过程中的调试 |
每种导出类型的选择依据你的分发目标,签名证书和描述文件的匹配也需要注意。例如,Ad-Hoc 和 Enterprise 适合测试和内部分发,而 App Store 适合正式发布到公开的 App Store。