IOS 打包签名的概念要点

7 min read
  • certSigningRequest 文件。从 Mac 的钥匙串访问中生成.certSigningRequest文件,这个过程会从 Mac 终端生成一对钥匙对,私钥存储在 Mac 中,公钥则包含在.certSigningRequest中。再将.certSigningRequest文件上传到 Apple 后台即苹果开发者中心,则可以对应生成开发证书或者发布证书(.cer文件)。

img

  • .cer 文件:Apple 后台使用 Apple 私钥对 Mac 公钥进行签名后生成的证书。
  • .p12 文件:Mac 本地生成的钥匙对私钥。由于私钥是本地私有的,但你可以使用.p12将私钥导出给其他团队成员使用。
  • IdentifiersIdentifiers是 iOS 设备安装应用时用来识别不同 App 的唯一标识,点击创建 App IDs,同时勾选 app 所包含的权限:APNs、HealthKit、iCloud 等。
  • entitlements。App 使用到的各种权限(APNs、HealthKit、iCloud 等),也是需要 Apple 验证通过后才能生效的,Apple 将这些权限开关统一称为 Entitlements。当第一次在 Xcode 中勾选权限时,项目中会自动生成一个.entitlements 后缀的文件,里面记录了 App 所拥有的权限。
  • Profiles.cer文件只是声明了证书的类型,比如 Apple Development、Apple Distribution、APNs 推送等等,而至于使用什么证书打包、AppID 是什么、打包的 App 包含了哪些功能、可以在哪些设备上安装,则是通过Provisioning Profile 描述文件(.mobileprovision后缀)来说明的,苹果后台将所有这些信息组合后再使用 Apple 私钥进行签名,最后生成Provisioning Profile描述文件: