Apple 开发者证书申请流程

尽管现在 xcode 已经集成了证书自动托管, 但是如果在远程推送等情况下仍然需要手动申请证书. 为此, 了解证书申请的原理对 iOS App 开发仍然有重要意义.

himg

证书分类

Apple 证书分为开发证书, 发布证书, 推送证书等, 申请证书需要先在 Mac 上创建 CSR(Certificate Signing Request) 文件

开发证书与发布证书与开发者账户绑定, 不与某个 APP 绑定. 即, 多个 APP 可以共用同一个开发证书或者发布证书.

推送证书与 App 有关, 推送证书是针对某一个 App 生成的, 在推送时也会需要用到此证书文件.

证书申请流程

  1. 注册 identifier (一般在 xcode 创建项目后系统会自动创建 identifier, 不需要手动创建)
  2. 从系统自带的 keychain access 中创建证书申请(csr)文件
  3. Apple 开发者页面使用 csr 文件创建开发证书发布证书或其他证书(开发证书与发布证书的数量都有限制, 目前发现只能手动申请一次)
  4. 将在Apple 开发者页面申请的的cer证书手动双击导入至Mac

注: 考虑到备份的原因可以将导入的两个证书从 keychain access 中以 p12 文件格式导出, p12 文件 = 私钥 + 证书 , 这样在重装系统或者在别的电脑上只要导入 p12 文件即可. 在多人开发中常用此方法

himg

himg

Provisioning Profile(配置文件)

Provisioning Profile 是 Apple 对于一个 App 所需要的各种证书以及所覆盖功能的描述文件. 包括

  • App 所使用的证书(开发与发布, 不含推送)
  • 已注册可在开发阶段使用的的设备
  • 开发账户
  • App 使用到的 Apple 的服务内容(比如 cloudkit, push notification, game center, in-app purchase, keychain sharing等)
  • 等…

Provisioning Profile 可以在Apple 开发者页面进行配置, 选择性地将证书, 可用设备, 覆盖的 Apple 功能添加到其中.

目前 xcode 比较智能, 可以在软件内实现自动托管配置文件, 不需要手动在官网进行配置. 注意: xcode 托管的配置文件不会显示在官网, 即, 如果在官网没有手动为 App 添加配置文件而是使用 xcode 的托管功能的话, 那么在官网的配置文件页面仍然是空白的

xcode 会在使用第一次点击开启托管功能时相关配置整合到一个配置文件中, 如果在开发者页面对APP ID新添加了某些功能后, 其不会自动更新, 此时可以进入到/Users/hanley/Library/MobileDevice/Provisioning Profiles路径中将所有配置文件全部删除, 此时 xcode 即会自动拉取最新配置生成新的 Provisioning Profile.