去年做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

最新文章

  1. form提交的几种方法
  2. MySQL的create table as 与 like区别
  3. 西门子Prodave5.5使用说明及VC示例
  4. springMVC 的工作原理和机制(转)
  5. BZOJ2149 : 拆迁队
  6. 利用Httponly提升web应用程序安全性
  7. linux 2.6up的设备和设备驱动模型
  8. 容易网CEO陈从容:用分享成就生活之美
  9. python基础:三元运算
  10. 2014-9-17二班----8 web project
  11. smartctl工具应用(转载整理)
  12. android获取系统wifi状态等
  13. 大页(huge pages) 三大系列 ---计算大页配置参数
  14. 系统里有Courier New字体 Eclipse没有这个字体选项
  15. Maven 介绍、安装使用
  16. NLTK1及NLP理论基础
  17. nodejs抓取页面内容,并分析有无某些内容的js文件
  18. github下载文件和文件夹
  19. python 多线程 并发socket实例
  20. JAVA框架 Spring AOP注解

热门文章

  1. linux指定动态运行库的位置
  2. Html 加载音乐代码mp3
  3. iOS之本地推送(前台模式与后台模式)
  4. TCP 和 UDP 协议发送数据包的大小 (转载)
  5. hadoop官网介绍及如何下载hadoop(2.4)各个版本与查看hadoop API介绍
  6. (原)caffe在ubuntu中设置GPU的ID号及使用多个GPU
  7. 一台nginx服务器多域名配置 (转)
  8. 自定义view组件
  9. mac 更改word的默认显示比例为125
  10. php 写队列