mac开发系列8:苹果证书的相关知识

1、想要进行苹果应用开发,必须先有苹果开发者账号 (Apple Developer Account),才能申请、下载和使用开发(development)证书、向App Store提交app的生产(production,即发布)证书,以及Provisioning Profiles(配置文件)。申请证书的链接是:https://developer.apple.com/account/ios 。
2、App ID,通常以反域名格式字符串作为前缀。如下图:


App ID分为两种类型。
1)Explicit类型是一个应用(app)的标识,与Bundle ID(Identifier)相同,例子如上图;
2)Wildcard类型是一组应用的标识,是Bundle ID(Identifier)的正则表达式,如下图:

注册App ID,如下图:



3、申请证书。如下图:

应用程序 -> 实用工具 -> 钥匙串访问
钥匙串访问 -> 证书助理 -> 从证书颁发机构请求证书:


继续并选择存储位置后,相应路径下将会生成一个CRS文件。同时,生成一对公钥秘钥,其中秘钥存储在“钥匙串访问”中,即私钥只对自己可见。如下图:

公钥将被包含在申请的证书里,并随证书散播出去,即公钥对外可见。

可以下载生成的证书。

双击成功下载的证书,可以安装到“钥匙串访问”中。如下图:

4、公钥和私钥成对存在,相互之间可以加解密;用私钥对app进行数字签名(code signing),用公钥解密app进行校验。
5、Device,即Apple设备,每台设备用UDID唯一标识。可通过Xcode -> Window -> Devices查看。如下图:

6、Provisioning Profiles(配置文件):包含证书、App ID和设备,在申请配置文件时,会把三者绑定在一起。后缀名是mobileprovision,放在~/Library/MobileDevice/Provisioning Profiles目录下。如下图:

主要为了方便打包,在不同情况下,选择不同的配置文件进行打包即可。与证书一样,Provisioning Profile也分为development和distribution两种。
7、公钥被包含在数字证书(数字证书即证书)里,数字证书又被包含在Provisioning Profile里,打包后Provisioning Profile被包含在.ipa的包里,app安装时,会把Provisioning Profile拷贝到设备中。
8、对于普通用户,Provisioning Profiles通过app的安装包拷贝到本地。
对于程序员,Xcode -> Preferences -> Accounts,当在如下图面板添加一个苹果开发者账号时,该账号所属的Team,以及相应的Provisioning Profiles都会从苹果官网同步到本地。


9、如何配置app的数字签名?
Build Settings -> Code Signing -> Provisioning Profile,在下拉菜单中选择所需Provisioning Profile,(Automatic表示Xcode会根据这个Target的Bundle identifier选择默认的配置文件以及证书)。如下图:

选好Provisioning Profile之后,再选择该Provisioning Profile关联的Code Signing Identifier即可。如下图:

10、从Xcode7开始支持普通苹果账号(Apple ID, Apple Account)进行免证书真机调试。所以会出现如下图的配置:

你可能感兴趣的:(mac开发系列8:苹果证书的相关知识)