简介
在iOS开发中,涉及到真机调试、推送、内支付等功能时,通常都涉及到证书的申请和安装,在刚开始接触这块的时候,我是从网络上找到各种教程照着操作,但是由于过于急躁,往往只是照着操作,完成就算,从来没有仔细去理解各种证书及申请当中各种操作的作用,导致经常出现问题出现之后不知道怎么操作。因此,写下此文,细细理解证书申请过程中的各种步骤。
本文将以申请真机调试证书为例进行讲解。(注:本文以理解为主,因此不使用Xcode的自动处理,其实自Xcode 7后,非开发者账号只需要几步就可以进行真机调试了,具体可参考使用Xcode 7 beta免费真机调试iOS应用程序)
详细介绍
如上图,进来开发者中心,可以看到,有Certificates、Identifiers、Devices和Provisioning Profiles 4个大选项可以操作,那么这4个选项都有什么用呢?
-
Certificates:证书,含开发证书和发布证书,只有安装了相应证书才能够进行真机测试和制做测试版和发布版的程序。
-
Identifiers:一个应用的ID,用来表示一个app,该ID可以自己自由填写。
-
Devices:表示可调试的设备,需要填写设备的UDID和自由填写的一设备别名。
-
Provisioning Profiles:授权文件,记录的是设备的UDID和程序的App Id,即:使被授权的设备可以安装或调试Bundle identifier与授权文件中记录的App Id对应的程序。
如果要打包或者在真机上运行一个APP,一般要经历以下三步:
首先,需要指明它的App ID,并且验证Bundle ID是否与其一致;
其次,需要证书对应的私钥来进行签名,用于标识这个APP是合法、安全、完整的;
然后,如果是真机调试,需要确认这台设备是否授权运行该APP。
接下来,我将说说我对这几个选项的理解,Identifiers和Device相当于把你账号下的应用和调试设备记录下来。而Certificates则用以控制哪些PC可以进行调试发布。Provisioning Profiles则是将这三者放在一块,只有满足Certificates、Identifiers、Devices都是Provisioning Profiles选择的值才允许运行调试或者发布。
下面将以真机调试为例分别讲讲每一项的操作。
Certificates
1.选择iOS App Development,点continue
2.创建CSR文件
-
打开钥匙串访问,证书助理,点击
从证书颁发机构请求证书
-
填写邮箱和常用名称,生成.certSigningRequest文件存储到磁盘。
3.上传刚刚生成的.certSigningRequest文件,点击Generate
4.把证书下载下来,双击安装即可
5.检查是否安装成功,打开钥匙串访问,如果看到刚刚生成的证书则说明安装成功,至此,该台设备已经具备进行iOS应用的真机调试的权限了,但是具体可以调试哪些应用,以及可以在哪台设备上运行应用还得再进一步设置说明。
Identifiers
1.填写App ID Description
2.填写App ID
3.选择允许的服务
4.完成后,点击continue,检查后点击submit即可。
5.在对应应用下填写bundle id
Devices
1.连接设备,打开iTunes,点击设备图标
2.点击序列号,会出现UDID,右键拷贝
3.填入刚刚拷贝的UDID,并且填入一个别名,然后点击提交即可。
Provisioning Profiles
1.类型选择,选择iOS App Development
2.配置
- 选择应用ID
- 选择证书
- 选择可调试设备
3.填写授权文件名并生成
4.下载并双击安装
5.在项目target/General/Code Signing/Provisioning Profile中选择刚刚安装的许可文件即可。
参考
iOS开发:创建真机调试证书
iOS Provisioning Profile(Certificate)与Code Signing详解