苹果证书说明文档
苹果的证书,描述文件等经常会造成一些开发者的困扰,所以写一篇详(sha)细(gua)版文档来做一个说明.
1.证书介绍
1.Certification 证书
证书是用来给测试或者发布的权限的凭证,宏观上分为以下两种
(1)Developer Certification(开发证书)
安装在电脑上提供权限:开发人员通过设备进行真机测试。
可以生成副本供多台电脑安装;
(2)Distribution Certification(发布证书)
安装在电脑上提供发布iOS程序的权限:开发人员可以制做测试版和发布版的程序。不可生成副本,仅有配置该证书的电脑才可使用;
2.Provisioning Profile(授权文件)
授权文件,是开发者进行真机测试的凭证,包括以下两种
(1)Developer Provisioning Profile(开发授权文件)
在装有开发证书或副本的电脑上使用,开发人员选择该授权文件通过电脑将程序安装到授权文件记录的设备中,即可进行真机测试。
注意:确保电脑有权限真机调试,即安装了开发证书或副本;在开发工具中程序的Bundle identifier和选中使用的授权文件的App Id要一致;连接调试的设备的UDID在选中的授权文件中有记录。
(2)Developer Provisioning Profile(开发授权文件)
在装有发布证书的电脑上(即配置证书的电脑,只有一台)制做测试版和发布版的程序。
发布版就是发布到App Store上的程序文件,开发者帐号创建授权文件时选择store选项,选择App Id,无需选择UDID;
测试版就是在发布之前交给测试人员可同步到设备上的程序文件,开发者帐号创建授权文件时选择AdHoc,选择App Id和UDID;只有选中的UDID对应的设备才可能安装上通过该授权文件制做的程序。
3. Keychain(开发密钥)
安装证书成功的情况下证书下都会生成Keychain,上面提到的证书副本(导出证书重新命名)就是通过配置证书的电脑导出Keychain(就是.p12文件)安装到其他机子上,让其他机子得到证书对应的权限。Developer Certification就可以制做副本Keychain分发到其他电脑上安装,使其可以进行真机测试。
注意:Distribution Certification只有配置证书的电脑才可使用,因此即使导出导出Keychain安装到其他电脑上,其他电脑也不可能具有证书的权限。
2.相关说明
首先要有个人或企业版的开发者账户,分别是99 以及299 。然后登录苹果开发者中心 ,登录后点击 Certification and xxx会看到这些个东东。
前面已经介绍了证书和描述文件,接下来说下identifiers以及devices。
最常用的应该就是App IDs这个东东了,他是每一个App的标识id,通过bundle ID 来确定其唯一性,而我们的证书都是通过App ID来进行绑定的;
Devices 是真机测试的设备,在创建授权文件时,需要选择App ID以及Devices,可以选择多个,新版的Xcode会在登录Team后自动生成授权文件,通过连接的设备来生成,会省去一部分麻烦。
3.如何申请普通证书or推送证书
(1)CSR文件
申请证书首先需要一个CSR(certSigningRequest)文件,这个文件获取方式如下:
注:申请几个证书就要创建几个CSR文件
点击”从证书颁发机构请求证书”之后:
然后就得到了一个xxx.certSigningRequest文件,简称CSR文件。这个文件可以理解为一个请求证书的”容器”,申请证书的时候需要上传这个文件。注:每次从钥匙串申请的CSR文件是不同的,这个文件大概是这个样子:
-----BEGIN CERTIFICATE REQUEST----
中间一堆字符.... 不用管它....反正每次都不一样
-----END CERTIFICATE REQUEST-----
(2)App ID
申请证书,肯定要知道我给哪个App申请吧,所以必须要先创建好App ID,创建方式比较简单,点击+号后填一些信息,主要是bundle ID要填对,必须和上线的时候工程中的bundle ID是一致的。
(3)申请证书
前面的准备工作做好之后,终于可以申请证书啦。
点击Certifications ->all 点击右上角的+号,然后看到了这个
What type of centificate do you need?
[80%][100%]
选择我们想要申请的证书种类,然后填写我们的App ID(不要填错),然后上传我们我们的CER文件,(如果没有重新生成一个就行了),最后就会生成我们的证书啦,我们可以在centifications的all中看到这些证书:
在Type中可以看到证书的类型,有App的发布证书和开发证书,有推送的测试证书和发布证书。
(4)检查证书
这一步是有必要的,为了保障我们的App推送、内购等功能是否可用,只需要查看一下App ID 的相关信息,点击我们想要查看的App ID ,然后可以看到:
图中In-App Purchase 和 Push Notifications 的测试以及发布证书都已经申请好了,所以会显示Enabled状态,不然是没有或者黄色的
注 :也可以在这个地方点击下面的Edit ,然后去申请相关的证书,方式同上。申请好之后也会看到绿色的Enable的状态
(4)导出证书
证书申请号之后,可以导出给别人用,首先找到相关的证书,点击download,然后会在钥匙串中发现下载好的证书。然后右键,导出 ->
选择p12格式,可以设置一个密钥(这个字竟然度月),把这个p12文件发放你的小伙伴就可以了,常用的是推送证书的导出,因为极光推送、小米推送等平台是需要这个证书的。