对于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开发中对iOS证书使用的记录,希望对你有所帮助。最后,谢谢浏览。

文/Warrior_Seven(简书作者)
原文链接:http://www.jianshu.com/p/01224fc523d4
著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。

iOS 证书申请和使用详解(详细版)的更多相关文章

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

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

  2. iOS 证书与签名 解惑详解

    iOS 证书与签名 解惑详解 分类: iPhone2012-06-06 19:57 9426人阅读 评论(1) 收藏 举报 iosxcodecryptographyappleiphone测试   目录 ...

  3. iOS证书申请及使用详细说明

    iOS 证书申请和使用详解(详细版)阅读   对于iOS开发者来说,apple开发者账号肯定不会陌生.在开发中我们离不开它.下面我简单的为大家分享一下关于iOS开发中所用的证书相关知识. 第一部分:成 ...

  4. iOS 视图控制器转场详解

    iOS 视图控制器转场详解 前言的前言 唐巧前辈在微信公众号「iOSDevTips」以及其博客上推送了我的文章后,我的 Github 各项指标有了大幅度的增长,多谢唐巧前辈的推荐.有些人问我相关的问题 ...

  5. iOS 开发之照片框架详解(2)

    一. 概况 本文接着 iOS 开发之照片框架详解,侧重介绍在前文中简单介绍过的 PhotoKit 及其与 ALAssetLibrary 的差异,以及如何基于 PhotoKit 与 AlAssetLib ...

  6. iOS 开发之照片框架详解

    转载自:http://kayosite.com/ios-development-and-detail-of-photo-framework.html 一. 概要 在 iOS 设备中,照片和视频是相当重 ...

  7. iOS 开发之照片框架详解之二 —— PhotoKit 详解(上)

    转载自:http://kayosite.com/ios-development-and-detail-of-photo-framework-part-two.html 一. 概况 本文接着 iOS 开 ...

  8. 《iOS 7 应用开发实战详解》

    <iOS 7 应用开发实战详解> 基本信息 作者: 朱元波    管蕾 出版社:人民邮电出版社 ISBN:9787115343697 上架时间:2014-4-25 出版日期:2014 年5 ...

  9. iOS百度地图简单使用详解

    iOS百度地图简单使用详解 百度地图 iOS SDK是一套基于iOS 5.0及以上版本设备的应用程序接口,不仅提供展示地图的基本接口,还提供POI检索.路径规划.地图标注.离线地图.定位.周边雷达等丰 ...

随机推荐

  1. ionic 上拉加载更多&瀑布流加载&滚动到底部加载更多 主意事项

    首先下拉刷新的代码是这样的,标红的地方为关键代码 <html> <head> <meta charset="utf-8"> <meta n ...

  2. preg_match_all

    <meta charset="utf8"> <?php set_time_limit (0); for($i=1;$i<34;$i++){ $url = & ...

  3. zookeeper安装和应用场合(名字,配置,锁,队列,集群管理)

    安装和配置详解 本文介绍的 Zookeeper 是以 3.2.2 这个稳定版本为基础,最新的版本可以通过官网http://hadoop.apache.org/zookeeper/ 来获取,Zookee ...

  4. Hibernate三种状态的转换

    hibernate的状态 hibernate的各种保存方式的区(save,persist,update,saveOrUpdte,merge,flush,lock)及 对象的三种状态 hibernate ...

  5. 详解Java中的clone方法:原型模式

    转:http://developer.51cto.com/art/201506/478985.htm clone顾名思义就是复制, 在Java语言中, clone方法被对象调用,所以会复制对象.所谓的 ...

  6. WHERE谓词对索引使用的影响

    本篇博文只测试WHERE谓词对multi-column index使用的影响,主要篇幅是SQL代码+截图.详细内容请参考<Inside the SQL Server Query Optimize ...

  7. IDE硬盘 SCSI硬盘 SATA硬盘

    IDE一般是有扁平电缆连接的,一个扁平电缆可以连接2个IDE硬盘,而一个计算机一般提供2个扁平电缆,所以一般允许4块IDE硬盘.IDE经过多年的发展,成熟,廉价,稳定.一般老式的电脑中装的都是这种硬盘 ...

  8. MongoDB时间类型

    mongdb时间类型 Date() 显示当前的时间 new Date 构建一个格林尼治时间   可以看到正好和Date()相差8小时,我们是+8时区,也就是时差相差8,所以+8小时就是系统当前时间 I ...

  9. canvas学习之制作动画

    html部分 ...... <body> <canvas id="myCanvas" width="400" height="400 ...

  10. jdk与eclipse版本问题解决applet的启动

    今天在中韩,遇到一个保全项目,需要调用applet显示打印批单,结果IE一直显示安全设置问题,去java程序的安全里面想下调等级,不好调,所以想改个jdk_32试试. 版本环境 原先是eclipse_ ...