iOS 证书申请和使用详解(详细版)阅读

 

对于iOS开发者来说,apple开发者账号肯定不会陌生。在开发中我们离不开它。下面我简单的为大家分享一下关于iOS开发中所用的证书相关知识。

第一部分:成员介绍

1.Certification(证书)

证书是对电脑开发资格的认证,每个开发者帐号有一套,分为两种

1)Developer Certification(开发证书)

安装在电脑上提供权限:开发人员通过设备进行真机测试。
可以生成副本供多台电脑安装;

2)Distribution Certification(发布证书)

安装在电脑上提供发布iOS程序的权限:开发人员可以制做测试版和发布版的程序。不可生成副本,仅有配置该证书的电脑才可使用;

2.Provisioning Profile(授权文件)

授权文件是对设备如iPod Touch、iPad、iPhone的授权,文件内记录的是设备的UDID和程序的App Id,即:使被授权的设备可以安装或调试Bundle identifier与授权文件中记录的App Id对应的程序。
开发者帐号在创建授权文件时候会选择App Id,(开发者帐号下App Id中添加,单选)和UDID(开发者帐号下Devices中添加最多100个,多选)。
授权文件分为两种,对应相应的证书使用:

1)Developer Provisioning Profile(开发授权文件)

在装有开发证书或副本的电脑上使用,开发人员选择该授权文件通过电脑将程序安装到授权文件记录的设备中,即可进行真机测试。
注意:确保电脑有权限真机调试,即安装了开发证书或副本;在开发工具中程序的Bundle identifier和选中使用的授权文件的App Id要一致;连接调试的设备的UDID在选中的授权文件中有记录。

2)Distribution Provisioning Profile(发布授权文件)

在装有发布证书的电脑上(即配置证书的电脑,只有一台)制做测试版和发布版的程序。
发布版就是发布到App Store上的程序文件,开发者帐号创建授权文件时选择store选项,选择App Id,无需选择UDID;
测试版就是在发布之前交给测试人员可同步到设备上的程序文件,开发者帐号创建授权文件时选择AdHoc,选择App Id和UDID;只有选中的UDID对应的设备才可能安装上通过该授权文件制做的程序。

3. Keychain(开发密钥)

安装证书成功的情况下证书下都会生成Keychain,上面提到的证书副本(导出证书重新命名)就是通过配置证书的电脑导出Keychain(就是.p12文件)安装到其他机子上,让其他机子得到证书对应的权限。Developer Certification就可以制做副本Keychain分发到其他电脑上安装,使其可以进行真机测试。
注意:Distribution Certification只有配置证书的电脑才可使用,因此即使导出导出Keychain安装到其他电脑上,其他电脑也不可能具有证书的权限。

第二部分:证书申请流程

step1:登录(99美元账号)https://developer.apple.com

c_1.jpg

1)登录成功后在页面右侧选择“Certificates”:

c_2.png

2)打开之后可以看到面板:

c_3.png

step2:生成CSR文件

1)打开 ->钥匙串访问

c_5.png

2)打开右上方钥匙串访问栏->证书助理->从证书颁发机构请求证书…

c_4.png

3)填写一个邮箱地址,选择“存储到磁盘”,点击继续,完成了。

c_6.png

申请成功后的文件:

c_7.png

step3:注册 App ID 流程

1)点c_3图面板中的App IDs 右上角的加号。然后填写App ID的名字:

c_8.png

2)填写bundle ID:

c_9.png

3)选择App需要支持的服务,(如:app耍要推送服务,就勾选Push Notifications)

c_10.png

4)最后会有一个详细的内容列表,对应无误后,提交完成。

step4: 证书申请

1)选择证书的类型,下面罗列我们iOS开发常用的证书类型

c_11.png

2)如果是申请推送证书,则会关联一个App ID

c_12.png

3)上传我们之前建好的CSR文件(详见step2)

c_13.png

4)恭喜你,到此为止,你完成了证书的申请,简单吧。

setp5:授权文件申请(Provisioning Profile)

1)选择授权文件类型,下面罗列了iOS常的授权文件类型

c_14.png

2)选择关联App ID

c_15.png

3)选择关联的证书

c_16.png

4)选择授权的设备(通过 UDID),除了企业证书(inHouse)外,只有你添加的设备才能进行调度或测试

c_17.png

5)给授权文件命一个能和其它授权文件区分的名字

c_18.png

恭喜你,到此为止,授权文件申请完成了,简单吧。
在我们iOS开发中,常用的证书相关操作流程就全在上面了。

第三部分:总结

1)成功安装测试证书的条件:a).开发者证书+私钥。 b).授权文件。

2)如果你想通过证书进行真机调试,请选择开发版证书(Development Certificate),和相应的授权文件(Development Provisioning Profile) 。

3)如果你想让更多的开发者能进行真机调试,请先对需要真机调试的设备进行授权,然后将开发版证书(Development Certificate)下载到本机安装后导出为带私的.p12的文件,和相应的授权文件(Development Provisioning Profile)交由开发者安装,成功后即可进行真机调试。

4)如果你想让更多的机子进行真机测试,请先对需要测试的设备进行授权,然后选择生产版证书(Distribution Ad_hoc Certificate)和相应的授权文件(Distribution Ad_hoc Provisioning Profile)打包后分发给要测试的设备即可。

iOS证书申请及使用详细说明的更多相关文章

  1. iOS证书申请详细流程

    一.事前准备 1.1 准备苹果帐号 首先您需要有一个苹果的开发者帐号,一个mac系统.如果没有帐号可以打开申请加入苹果的开发者计划.如何申请网上有详细的介绍,在此不多做介绍. 如果您已经有了一个帐号, ...

  2. iOS 证书申请和使用详解(详细版)

    对于iOS开发者来说,apple开发者账号肯定不会陌生.在开发中我们离不开它.下面我简单的为大家分享一下关于iOS开发中所用的证书相关知识. 第一部分:成员介绍 1.Certification(证书) ...

  3. iOS 证书申请和使用详解(详细版)阅读

    对于iOS开发者来说,apple开发者账号肯定不会陌生.在开发中我们离不开它.下面我简单的为大家分享一下关于iOS开发中所用的证书相关知识. 第一部分:成员介绍 1.Certification(证书) ...

  4. IOS证书申请 PPF provisioning profile Developer Certificate

    [Error] No provisioning profile found for the selected build configuration 新来一个iPhone,真机调试的时候报错. 1.x ...

  5. 苹果IOS 证书申请及导出证书文件

    在申请证书之前,前提是,你要注册一个苹果帐号,且交了个人或公司帐号99美元大概人民币600多一年费用申请开发者帐号,审核通过的开发者帐号,个人或公司或企业类型帐号. 如何申请苹果开发者帐号,这里不讲解 ...

  6. iOS 证书申请新步骤

    2018iOS完整的证书申请和打包过程 - 简书https://www.jianshu.com/p/2b3c2693f4f2

  7. ios 证书申请和发布流程

    证书是什么? 上面这个就是我们申请好证书后,下载到本地的.cer文件,也就是常说的开发证书与发布证书的样式.这.cer文件格式的证书是让开发者使用的设备(也就是你的Mac)有真机调试,发布APP的权限 ...

  8. Ios证书申请流程

    1. 创建appId l 苹果开发网站→Account-overview下的Cerficates,IDs & Profiles→AppIDs,点击添加 l 填写App ID描述,在App ID ...

  9. Hbuilder ios证书申请

      最近负责app开发上线,一些心的总结 1.需要先用 苹果操作系统的证书管理  生成 .csr (多次使用) 2.进入开发者帐号 - 证书与配置c&p + App store and AD ...

随机推荐

  1. XCube和X组件的入门级使用教程

    我也是一个入门级的初学者,在学习魔方的时候,很多不是很懂的地方,而网上的资料又比较少.尤其是Newlife的论坛打不开的情况下 所以就想着把这个初级项目做完后,做一个入门级教程.保证人人都看得懂(.^ ...

  2. URL组成部分详解

    URL组成部分详解 URL是Uniform Resource Locator的简写,统一资源定位符. 一个URL是由以下几部分组成的: scheme://host:port/path/?query-s ...

  3. mysql 联合表(federated)及视图

    1)验证环境 源库:192.168.8.75 centos 7.5 mysql8.3 目标库:192.168.8.68 redhat 6.8 mysql5.7 2)登录源库并创建源表 $ mysql ...

  4. There are multiple modules with names that only differ in casing. 黄色warning

    There are multiple modules with names that only differ in casing.有多个模块同名仅大小写不同This can lead to unexp ...

  5. idea crack

    ThisCrackLicenseId-{ “licenseId”:”11011”, “licenseeName”:”Wechat”, “assigneeName”:”tree-deep-see-dee ...

  6. maven作用

    1.控制项目间依赖关系方案 A项目依赖B项目的某些功能.将B项目打包为jar,并在A项目的Library下导入B的jar文件. 这样做有着很明显的缺点:        1.如果在开发过程中,发现B中的 ...

  7. goodsSearch初始化选中代码

    watch: { selectGoodsList (val) { let list = [] val.forEach(item => { this.goodsList.forEach((tag, ...

  8. Java实现post和get请求

    GET请求:GET请求会向服务器发索取数据的请求,从而来获取信息,该请求就像数据库的select操作一样,只是用来查询一下数据,不会修改.增加数据,不会影响资源的内容,即该请求不会产生副作用.无论进行 ...

  9. winfrom程序文本框第一次选中问题

    想实现这样的功能: 就是在panel中的文本框,当第一次点击文本框时,全选文本框的内容:再次选择时,可以全选,也可以部分选中, 可是文本框总是从左全部选中,还不能从右边选择,在Enter或Down事件 ...

  10. jdk和cglib动态代理

    一.原理区别:java动态代理是利用反射机制生成一个实现代理接口的匿名类,在调用具体方法前调用InvokeHandler来处理. 而cglib动态代理是利用asm开源包,对代理对象类的class文件加 ...