所闻所获5:关于iOS的证书
2016-03-15 10:48
393 查看
去年做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
首先要在电脑上的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
相关文章推荐
- 深拷贝与浅拷贝(mutableCopy与Copy)详解 iOS
- iOS url中文编码
- iOS 开发中用模拟器跑程序时cell的分割线一直不显示
- iOS应用开发中实现页面跳转
- iOS中assign,copy,retain之间的区别以及weak和strong的区别
- iOS 定时器的比较
- iOS二维码生成及扫码
- iOS AutoLayout使用心得
- IOS-官方文档CGAffineTransform(旋转,缩放,平移)
- ios得到星期几
- 《未测试》如何使用自己已经编译过的lamp安装cacti nagios zabbix
- 疯狂iOS讲义上、下PDF(包含源码)
- Uap证书地址改变Ios打包规则以及bulid server 打包地址
- iOS越狱程序开发框架
- iOS 对于多线程简单的认识
- IOS设置Tab Bar item的颜色
- IOS 逆向工程之砸壳
- IOS开发中NSRunloop跟NSTimer的问题
- IOS设备之armv6,armv7,armv7s,arm64
- iOS 最新版 CocoaPods 的安装流程