iOS 应用签名证书的类型说明
介绍苹果开发者账号的类型、Ad Hoc / In-House / App Store 三种签名方式的区别,以及在蒲公英中的显示方式。
对于尚未上架 App Store 的 iOS 应用,能否被正确安装到设备上,与导出安装包(.ipa 文件)时的签名证书、描述文件、分发方式及设备条件有关。本文说明蒲公英支持的签名方式,以及各类苹果开发者账号所能使用的证书类型。
苹果开发者账号类型
下表区分 Apple Developer Program 的常见注册主体与 Apple Developer Enterprise Program。会员计划、签名证书和分发方式不是同一个概念。
| 计划 / 注册主体 | 年费 | App Store 发布 | Ad Hoc 设备注册配额 | 申请条件摘要 |
|---|---|---|---|---|
| Apple Developer Program(个人) | 99 美元 / 会员年度,或当地货币价格 | 支持 | 每个会员年度、每类设备最多 100 台 | 须满足所在地法定成年年龄、身份和账户等要求 |
| Apple Developer Program(组织 / 公司) | 99 美元 / 会员年度,或当地货币价格 | 支持 | 每个会员年度、每类设备最多 100 台 | 法律实体、签约授权、D-U-N-S 编码等;以 Apple 的适用要求为准 |
| 符合条件的教育机构等组织 | 可申请 Apple Developer Program 年费豁免,经 Apple 审核批准后免年费 | 按所属计划使用 | 每个会员年度、每类设备最多 100 台 | 须满足费用豁免条件,并非所有教育机构自动免费 |
| Apple Developer Enterprise Program | 299 美元 / 会员年度,或当地货币价格 | 该计划不用于 App Store 发布 | 使用 Ad Hoc 时,同样每个会员年度、每类设备最多 100 台 | 100 名或以上员工、法律实体、内部专有应用用途及 Apple 验证等;不只是 D-U-N-S 编码 |
Ad Hoc 配额按开发者团队的会员年度和设备产品类别分别计算,例如 iPhone 和 iPad 分开计数,不是每个 App 或每张证书各有 100 台名额。会员年度中停用设备不会增加当年的可用名额。In-House 不采用 Ad Hoc 的逐台设备注册流程,但有下文所述的内部使用范围。
完整条件请参见 Apple 的会员注册要求、费用豁免条件、设备注册配额和企业开发者计划。
关于导出安装包的具体操作,请参见 打包 iOS 的 IPA 文件。
签名方式与蒲公英显示
本文比较以下三种常见的 iOS 分发方式。蒲公英会根据安装包使用的证书,在应用下载页面与管理页面中标注对应的版本类型:
| 签名方式 | 蒲公英显示 | 安装范围 | 适用开发者账号 |
|---|---|---|---|
| Ad Hoc | 内测版 | 需在 Apple 开发者账户注册设备,并将其包含在导出所用的 Ad Hoc 描述文件中 | 个人、公司、教育、企业账号 |
| In-House | 企业版 | 组织内部员工使用,仍须满足有效签名、兼容性和信任要求 | 企业账号 |
| App Store | App Store | 仅可通过 App Store 安装 | 个人、公司、教育账号 |
通过蒲公英分发 iOS 应用,通常使用 Ad Hoc 或 In-House 两种方式:
- 使用 Ad Hoc:先注册目标设备 UDID,将设备包含在本次导出使用的 Provisioning Profile 中,再导出 IPA。自动签名时可由 Xcode 管理描述文件。签名证书与描述文件是不同对象,设备列表属于描述文件;参见 Apple 的 Ad Hoc 描述文件流程。
- 使用 In-House:符合 Apple Developer Enterprise Program 要求的组织,可将自有内部应用私密、安全地分发给组织内部员工。无需逐台登记 UDID,不表示可向任意公众分发,也不保证任意设备都能安装。