Xamarin.iOS 应用的内部分发
本文档简要概述了应用程序作为 Apple Enterprise Developer Program 成员身份进行的 In-House 分发。
在软件开发生命周期中,Xamarin.iOS 应用开发完毕后,下一步就是将其分发给用户。 专有应用可通过 Apple Developer Enterprise Program 内部(之前称作企业)分发,它提供了以下好处:
- 无需提交应用程序供 Apple 审核。
- 可在任意数量的设备上部署一个应用程序
- 请务必注意,Apple 清楚表明内部应用程序仅限内部使用。
还请务必注意 Enterprise Program:
- 不提供进行分发或测试(包括 TestFlight)的 iTunes Connect 访问权限。
- 会员资格的费用是每年 $299。
所有应用仍需要由 Apple 签名。
测试应用程序
通过 Ad Hoc 分发执行应用程序的测试。 有关测试的详细信息,请按照 Ad-Hoc 分发指南中的步骤操作。 请注意,最多只能测试 100 台设备。
设置分发
与其他 Apple Developer Program 一样,在 Apple Developer Enterprise Program 下,只有团队管理员和代理可创建分发证书和配置文件。
Apple Developer Enterprise Program 证书将持续 3 年,配置文件将在 1 年后过期。
务必注意,不可续订已过期的证书,而需要将过期的证书替换为新的证书,如下面所详述。
创建分发证书
浏览到 Apple Developer Member Center 的“证书、标识符和描述文件”部分。
在“证书”下选择“生产”。
单击“”+按钮创建新证书。
在“生产”标题下,选择“In-House 和 Ad Hoc”:
单击“继续”,再按照说明操作,通过密钥链访问创建证书签名请求:
按指示创建 CSR 后,单击“继续”并将 CSR 上传到 Member Center:
单击“生成”创建证书。
下载已完成的证书,并双击该文件进行安装。
此时,计算机上应安装了证书,但可能需要刷新配置文件,确保其在 Xcode 中可见。
或者,可通过 Xcode 中的”首选项”对话框请求证书。 为此,请执行以下步骤:
创建分发配置文件
创建应用 ID
与创建的其他任何配置文件一样,需要应用 ID 来标识将分发到用户设备的应用。 如果尚未创建此项,请按照以下步骤创建:
- 在 Apple Developer Center 中,浏览到“证书、标识符和描述文件”部分。 在“标识符”下选择“应用 ID”。
- 单击“”+按钮并提供“名称”,该名称将在门户中标识它。
- 应用前缀需已设置为你的团队 ID 且不可更改。 选择显式或通配符应用 ID,并以反向 DNS 格式输入程序包 ID,如:Explicit: com.[DomainName].[AppName] Wildcard:com.[DomainName].*
- 选择应用要求的任意应用服务。
- 单击“继续”按钮,按照屏幕上的说明创建新的应用程序 ID。
拥有创建分发配置文件所需的必要组件后,请按照下面的步骤进行创建:
返回 Apple 预配门户,选择“预配”>“分发”:
单击“”+按钮,选择要创建为“In-House”的分发配置文件类型:
单击“继续”按钮,然后在下拉列表中选择要为其创建分发配置文件的应用程序 ID:
单击“继续”按钮,然后选择签名应用程序时所需的分发证书:
单击“继续”按钮,为新的分发配置文件输入“名称”:
单击“生成”按钮,创建新的配置文件并完成该过程。
可能需要退出 Visual Studio for Mac,并让 Xcode 刷新可用签名标识和预配配置文件列表(按照请求签名标识部分中的说明操作),然后 Visual Studio for Mac 中才会有新的分发配置文件。
实现应用的 In-House 分发
在 Apple Developer Enterprise Program 中,被许可方是负责分发应用程序的人员,其需遵循 Apple 设置的指南。
可使用各种不同的方法安全地分发应用,例如:
- 通过 iTunes 本地分发
- MDM 服务器
- 安全的内部 Web 服务器
- 电子邮件
若要使用以上任一方式分发应用,必须先创建一个 IPA 文件,如下一节中所述。
创建 IPA 进行 In-House部署
完成预配后,可将应用程序打包到名为 IPA 的文件中。 这是一个 zip 文件,内含应用程序以及其他元数据和图标。 IPA 用于将应用程序本地添加到 iTunes,使其可直接同步到配置文件中的设备。
若要深入了解如何创建 IPA,请参阅 IPA 支持指南。
总结
本文简要概述了 Xamarin.iOS 应用程序的 In-House 分发。