首先要了解一下Xcode打包签名机制中 Certificates & Identificates &Provisioning Profiles 三者之间的关系:
Certificates:
是证书的意思,是我们开发者账号的认证,也是当前开发者账号是否可用的唯一标示。(是对电脑开发资格的认证,也是对开发者账号的认证,通常用于认证开发者能够在某一台电脑上进行编程),每个开发者账号有两套开发者证书可以选择:
Developer Certification(开发证书) 安装在电脑上提供权限:开发人员通过设备进行真机调试。可以生成副本供多台电脑安装,也就是导出证书秘钥(.p12文件)
Distribution Certification(发布证书) 安装在电脑上提供发布iOS程序的权限:开发人员可以制做测试版和发布版的程序。然后打包上传到iTunesConnect进行发布操作。不可生成副本,仅有配置该证书的电脑才可使用;(副本制做介绍在下面Keychain开发秘钥中介绍)如果app想加入推送功能,就申请对应的带推送的证书:
Identificates:
是身份标示的意思,就是我们的AppID ,如果是在创建发布证书的时候,我们的AppID 要求是唯一的,如果是创建测试证书的时候,我们的APPID可以使用通配符。
Provisioning Profiles:
是描述性文件的意思,是对证书和项目标示的描述文件。
什么是通配符:
通配符就是在上传程序的时候要使用到的一个唯一标示软件ID的一串字符串后面的*号部分,当然在显式的AppID 中不存在通配符,仅仅在通配符AppID中出现。
下面是对公钥、私钥、数字证书的作用理解:
公钥是用来加密签章用的,私钥是用来验证签章解密用的,数字证书使用来提供一对加密与解密的通道或者中介。
使用数字证书的签名机制可以确保该信息是由签名者自己签名发送的,不能否认该事实,信息在发送的过程中不能被任何人修改,因为通过数字证书加密过程是不可逆转的。
Devices 用于创建测试设备,一个99美元允许创建100个设备
下面是证书的制作流程:
第一步:申请本地证书
在钥匙串中生成密钥文件CSR文件(在钥匙串中操作这一步),并将CSR文件下载保存到本地。
如果申请的本地证书要保存在磁盘上的话,邮箱可以随便写。
将证书保存在桌面上。
打开开发者中心,在如下图处点击:“证书、ID、描述性文件” 的图标。
证书分为开发者证书,测试证书两种。要申请证书,都要从右边的 “+” 号处添加。如果要申请开发证书就选择Development,如果要申请发布证书,就选择Production,步骤都是选择“+”号后添加证书:
点击了 “+” 之后可以看到的是:
如果是选择开发证书选择第一个 红框。
如果是选择发布证书选择第二个 红框。
下面假设选择了发布证书:
这里我们点击 “continue”
然后会出现下面的页面:
然后选择 “Choose file ” 上传我们从钥匙串中创建的本地证书:
上传之后,点击 “ Generate” 就可以生成证书了。
下面我们就可以下载我们创建好的证书了。
我们可以在证书下载完成之后,删除原来的从钥匙串中生成的证书了。然后返回到证书界面,就可以看到我们申请的证书了。
一般申请一个 发布证书(IOS Distribution),一个开发证书(IOS Development)就够用了。
找到下载的文件,双击它,添加到钥匙串里就好了。在这一步里,如果钥匙串拒绝添加,直接将其拖进钥匙串就行:
这样证书就申请完毕了,有了证书后