iOS开发者证书-2015年中文版

我们都知道,制作一款iOS的App需要iOS的开发者证书。在Apple的开发者网站上面,有一个栏目是‘Certificates, Identifiers & Profiles’。这三个东西,对于一开始接触的人,实在是一头雾水。

Certificates 证书,如开发者证书

  • Development
    • iOS App Development 开发者证书
    • Apple Push Notification Service SSL(Sandbox)
  • Production
    • App Store and AD Hoc 发布证书
    • Apple Push Notification service SSL (Production)
    • Pass Type ID Certificate
    • Website Push ID Certificate
    • VoIP Services Certificate
    • Apple Pay Certificate

在证书这栏,我们主要关注开发者证书和发布证书这两个。

开发者证书是和Mac相关联的,由Mac上面的‘证书管理’请求证书,生成一个*.certSigningRequrest的文件。将该文件提交到开发者网站上面,即可生成对应的开发者账号证书。

发布证书则是发布应用的时候才需要的。

Identifiers 唯一识别码

  • App IDs App的唯一ID,也就是Xcode里面的Bundle-id
  • Pass Type IDs
  • Website Push IDs
  • iCloud Containers
  • App Groups
  • Merchant IDs

这里,我们暂时只需要关注App IDs,为我们的应用创建一个Bundle-id,并且配置对应的一些功能(部分功能需要再申请对应的证书文件)。

Devices 设备

  • All 全部

硬件这栏没有二级菜单,里面显示的全部测试设备的UDID,一个开发者账号可以有100个UDID。

通过Ad-hoc方式进行测试分发,需要收集测试设备的UDID,测试设备才能安装上。

之前pgyer.com提供她们的企业证书,供第三方来二次打包,并以企业分发的形式进行供外部用户进行测试。但在Apple收购了TestFlight之后,这部分策略被收紧了。

现在进行分发测试,要么自己买企业证书,要么自己收集UDID,要么走苹果的TestFlight外部测试的流程(这个测试发布,也是要经过苹果审核的)。

Provisioning Profiles 描述文件

  • All
  • Development 开发描述文件
    • iOS App Development 开发者证书描述文件,用来关联App ID、开发者证书、测试硬件之间的关系
  • Distribution 分发描述文件
    • App Store 应用市场的描述文件, 用来关联App ID、发布证书之间的关系
    • Ad Hoc 测试分发的描述文件,用来关联App ID、发布证书、测试硬件之间的关系

晕了没?反正我是晕了。总结以下就是:

  • 需要一个开发证书,这个证书是和Mac\Xcode有关系的。
  • 需要一个App ID,来作为你的软件的唯一标示。
  • 需要一个描述文件,这个文件是用来绑定你的证书和App ID的。

还有

刚才上面的这些东西,都是在开发者网站上面进行配置的,然后每次变更,最后Xcode都要关掉重启,以便能正确加载最新的关系。

然后,Xcode自己也会生成、维护一套证书关系,所以,一个不小心,你在Apple开发者网站上面的各种证书描述文件会满天飞。

再然后,上面提到的是单个开发者的,如果是多个开发者,同时使用一个开发者账号,那又会出现各种诡异的证书描述文件错误问题。