去年做ondine时,被iOS的证书搞得很是头大,做完了之后感觉一片混乱,印象也不是很深。最近又发布了meditashayne,个人的第二个App,也就重温了一下证书的一些相关操作。这一次的理解比较深了,总结了一些基本要点如下:

  首先要在电脑上的Keychain里生成一个CertificateSigningRequest.certSigningRequest文件,这个文件是接下来所有证书操作的基础。这个certSigningRequest文件我理解为是电脑生成的一段加密的关于自身的信息,这段信息精确能辨识某一台电脑,它被做在开发或者发布的证书里面后,这个证书就表示能授权这部电脑build开发版本或发布版本等操作。这个文件要妥善保存,因为重新生成一次的话,内容可能就会变了。

  接下来就是在developer.apple.com的Member Center里进行的证书相关操作了,这些操作都在Certificates, Identifiers & Profiles里面,主要分4个部分:

(1)、Certificates:

其实这个便是传说中的证书了,它的后缀名是.cer。Certificate有开发者、发布或者推送等各种类型,不同类型的证书能授权电脑做不同类型的操作。

制作Certificate的过程需要上传certSigningRequest文件。

做完Certificate后,要将它下载下来,并安装在Keychain中,这样便完成了第一步的授权操作。

(2)、Identifiers:

Identifiers表示各种各样的ID,用来唯一标识某个程序或某项功能,其中跟App有关的便是AppID。AppID用来唯一标识某个App,在进行下一步操作前,你要先为你的App注册一个AppID。

AppID中最重要的是Bundle ID,这个便是AppID的详细内容,一般将它定义为“com.域名.App名”的格式,比如meditashayne的Bundle ID便是“com.shayneyeorg.meditashayne”。

同时Xcode里面的Bundle Identifier也需要和这个Bundle ID保持一致,这样方能正确对应上。

(3)、Devices:

设备,包括iPhone、iPad、Apple Watch等各种设备,你要把你开发工程中真机调试需要用到的设备先添加到这里面。

添加设备的时候,主要是要记录设备的UDID。添加的设备并不表示以后必须得使用它,只是将它添加在这里可供以后选择使用。

(4)、Provisioning Profiles:

Provisioning Profiles是最后一步了,从字面上来理解它是授权文件的意思,文件的后缀名是.mobileprovision,这个文件便是我们平时开发过程中所说的“证书”了。

Provisioning Profile的意义是“授权某一台电脑在某几部设备上,对某个App进行某种操作”。

所以在制作Provisioning Profile的过程中,你需要选择这个Provisioning Profile文件的操作类型(开发或者发布),选择这个Provisioning Profile文件使用的证书和授权的电脑(Certificates),选择这个Provisioning Profile文件操作的App(Identifiers),选择这个Provisioning Profile文件允许操作的设备(Devices),选择完这些之后,便可生成对应的Provisioning Profile文件了。

这个文件是日常开发中经常要操作到的文件,需要把它的命名规范好,一般我会用文件的操作类型和App名称合起来作为文件名。比如meditashayne的开发者Provisioning Profile文件,我将它命名为“Dev_Mds.mobileprovision”,发布Provisioning Profile文件我将它命名为“Dis_Mds.mobileprovision”。

(5)、完成了这些操作后,你在Xcode里登陆对应的Apple ID,便可在Preferences里下载对应的Provisioning Profile文件,进行对应的操作了。

  参考文档:

  https://segmentfault.com/a/1190000004144556

  http://www.cocoachina.com/bbs/read.php?tid=330302

所闻所获5:关于iOS的证书的更多相关文章

  1. iOS 开发 证书总结 开发证书和生产证书的区别

    IOS开发 证书总结 开发者证书   ------>>  开发证书是你在真机推送时 用得, 生产证书是app 上架之后 推送给用户用的 首先你必须获得apple开发者证书,上图这个文件就是 ...

  2. iOS开发之 XCode6.0的iOS免证书真机测试方法(MAC及黑苹果均有效)

    参考:http://mobile.51cto.com/iphone-455500.htm XCode6.0的iOS免证书真机测试方法(MAC及黑苹果均有效) 前提:设备已经越狱 目前在XCode上开发 ...

  3. IOS开发证书变成“此证书的签发者无效”解决方法

    IOS开发证书全部变成无效,如下图  打包提示错误  解决方法: 1. 下载https://developer.apple.com/certificationauthority/AppleWWDRCA ...

  4. ios 企业证书 ipa 重新签名发布

    提示:暂时不能用了,企业证书滥用 ios 企业证书 ipa 重新签名发布 1. 应用场景 当前有一个 未用企业证书签名的 ipa 文件,默认是不可以直接安装到设备上的:我们需要用企业版证书签名: 当前 ...

  5. 申请iOS开发者证书

    来源:http://blog.csdn.net/htttw/article/details/7939405 申请iOS开发者证书 今天我们介绍如何申请iOS开发者证书(99刀): 1. 打开 http ...

  6. iOS 此证书的签发者无效

    1.先检查Apple Worldwide Developer Relations Certification Authority Intermediate Certificate证书是否过期,该证书过 ...

  7. iOS开发证书都显示“此证书的签发者无效”,更新WWDR Certificate证书后还是显示无效

    1.首先iOS开发证书显示"此证书的签发者无效".是因为WWDR Certificate证书过期导致的,须要更新WWDR Certificate证书! 1)下载最新WWDR Cer ...

  8. iOS开发证书和配置文件的使用

    提示:之前只是根据网上的流程完成了iOS项目的发布过程,对于证书和配置文件仍是一头雾水,这里参照别人的文章,简单了解一下,毕竟以后用的着. 这里有几个问题: 什么是iOS证书,它是如何与app应用关联 ...

  9. iOS监听模式系列之iOS开发证书、秘钥

    补充--iOS开发证书.秘钥 iOS开发过程中如果需要进行真机调试.发布需要注册申请很多证书,对于初学者往往迷惑不解,再加上今天的文章中会牵扯到一些特殊配置,这里就简单的对iOS开发的常用证书和秘钥等 ...

随机推荐

  1. python标准库 bisect模块

    # -*- coding: utf-8 -*- # python:2.x __author__ = 'Administrator' #bisect #作用:维护有序列表,而不必在每次向列表增加一个元素 ...

  2. Test注解的两个属性:expected和timeout

    JUnit4:Test文档中的解释: The Test annotation supports two optional parameters. The first, expected, declar ...

  3. Java里多个Map的性能比較(TreeMap、HashMap、ConcurrentSkipListMap)

    问题 比較Java原生的 1.  TreeMap 2.  HashMap 3.  ConcurrentSkipListMap 3种Map的效率. 结果 模拟150W以内海量数据的插入和查找,通过添加和 ...

  4. MSN在Win7下80072f0d错误解决

    近期电脑(笔记本联想 K41A)显卡出了点问题(该显卡一周前刚换的新的,竟然不到一周又出问题了,联想的质量真的...),在xp下电脑根本进不了操作系统,不断重新启动(可能驱动.系统垃圾太多有关),于是 ...

  5. gcc基本用法

    GCC基本用法 GCC最基本的用法是: gcc [option] filenames option:编译器所需要的编译选项 filenames:要编译的文件名 gcc编译流程 都以 hello.c 为 ...

  6. PHP学习笔记二十五【类的继承】

    <?php //定义父类 class Stu{ public $name; protected $age; protected $grade; private $address;//私有变量不会 ...

  7. iOS——protoco和delegate (事件代理)

    一:被代理人personOne personOne.h #import <Foundation/Foundation.h> @protocol SomeThing<NSObject& ...

  8. C#代码启用事务锁Transaction进行一系列提交回滚操作

    一.前言 因为很多人一般进行一系列相关数据库操作都是在存储过程里面,而且在存储过程用锁的写法也是很简单的,在这篇文章主要介绍一下C#后台代码用锁进行一系列事务操作,我建立一个简单的winform程序, ...

  9. 关于Ajax技术中servlet末尾的输出流

    Ajax的服务器端用PrintWriter out=resp.getWriter()来响应数据的时候,out.print(0).out.print(1)来表示成功或失败,而不用out.write是有原 ...

  10. NopCommerce 3.3中文语言包发布下载及使用

    NopCommerce 3.3是一套国外优秀的开源电子商务项目,其拥有完整的电子商务功能且具有灵活的配置功能,基于微软最新技术ASP.NET MVC 5.1.1,EntityFramework.6.1 ...