iOS开发环境配置中的几个概念
1,Certificate(证书)
证书分为四种类型,主要信息是开发者信息(邮件,id)、公钥:
- iOS Development
- iOS Distribution
- APNs Development iOS
- APNs Distribution iOS
前两种用来对App进行加密,分别对应开发版和发布版。
后两种用来跟苹果的APNS服务器进行通信,该通信使用加密连接,所以需要单独的私钥和公钥,公钥就是这种证书。也有各自的开发版和发布版。
一些支持集成推送服务的第三方平台,在配置时,需要你通过keychain导出p12格式的文件上传到第三方平台,这里导出的就是这个证书对应的私钥。第三方平台使用私钥,跟APNS服务器上的公钥配合,保证推送服务的安全性。
需要从mac电脑上申请这个证书,申请时会生成私钥自动保存到电脑的钥匙串。如果需要在其他电脑上用相同的证书对程序进行签名,需要将私钥导出到那台电脑。导出通过keychain进行,导出成p12文件,传输到另一台电脑,双击直接导入到keychain中。
2,App ID
狭义上是一个字符串,App的唯一标识。
广义上还包括关于这个App的配置项,比如是否开启推送服务,是否支持iCloud等。
3,Provisioning Profile
分为开发和发布两种。
针对开发者的一些综合信息,包括Certificate、App ID、被调试设备的ID(开发者provisioning profile有,发布的没有)。
4,导出开发环境。
大部分东西可以靠Xcode自动从服务器下载,除了私钥。私钥的导出需要使用“钥匙串访问”程序,导出成p12文件,拷贝到目标机子,再导入即可。
除此之外,如果App需要支持推送,需要重新配置App ID,并从Provisioning Portal中下载安装配置好的推送SSL证书。
特别要注意的,重新配置完App ID后,也要把对应的Provisioning Profile重新生成一遍,如此方可不影响推送功能。