所闻所获5:关于iOS的证书
去年做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的证书的更多相关文章
- iOS 开发 证书总结 开发证书和生产证书的区别
IOS开发 证书总结 开发者证书 ------>> 开发证书是你在真机推送时 用得, 生产证书是app 上架之后 推送给用户用的 首先你必须获得apple开发者证书,上图这个文件就是 ...
- iOS开发之 XCode6.0的iOS免证书真机测试方法(MAC及黑苹果均有效)
参考:http://mobile.51cto.com/iphone-455500.htm XCode6.0的iOS免证书真机测试方法(MAC及黑苹果均有效) 前提:设备已经越狱 目前在XCode上开发 ...
- IOS开发证书变成“此证书的签发者无效”解决方法
IOS开发证书全部变成无效,如下图 打包提示错误 解决方法: 1. 下载https://developer.apple.com/certificationauthority/AppleWWDRCA ...
- ios 企业证书 ipa 重新签名发布
提示:暂时不能用了,企业证书滥用 ios 企业证书 ipa 重新签名发布 1. 应用场景 当前有一个 未用企业证书签名的 ipa 文件,默认是不可以直接安装到设备上的:我们需要用企业版证书签名: 当前 ...
- 申请iOS开发者证书
来源:http://blog.csdn.net/htttw/article/details/7939405 申请iOS开发者证书 今天我们介绍如何申请iOS开发者证书(99刀): 1. 打开 http ...
- iOS 此证书的签发者无效
1.先检查Apple Worldwide Developer Relations Certification Authority Intermediate Certificate证书是否过期,该证书过 ...
- iOS开发证书都显示“此证书的签发者无效”,更新WWDR Certificate证书后还是显示无效
1.首先iOS开发证书显示"此证书的签发者无效".是因为WWDR Certificate证书过期导致的,须要更新WWDR Certificate证书! 1)下载最新WWDR Cer ...
- iOS开发证书和配置文件的使用
提示:之前只是根据网上的流程完成了iOS项目的发布过程,对于证书和配置文件仍是一头雾水,这里参照别人的文章,简单了解一下,毕竟以后用的着. 这里有几个问题: 什么是iOS证书,它是如何与app应用关联 ...
- iOS监听模式系列之iOS开发证书、秘钥
补充--iOS开发证书.秘钥 iOS开发过程中如果需要进行真机调试.发布需要注册申请很多证书,对于初学者往往迷惑不解,再加上今天的文章中会牵扯到一些特殊配置,这里就简单的对iOS开发的常用证书和秘钥等 ...
随机推荐
- Android FragmentActivity onActivityResult冲突问题
场景:假设fragment的填充数据是ListView,ListView中的每一项都有button,点击每一项的button跳转到B界面.在B界面处理完业务需返回fragment中更新数据. 解决方式 ...
- 微软提供了三个核心服务:Windows+Office 365+Azure
微软提供了三个核心服务:Windows+Office 365+Azure 英语新闻来源:http://techcrunch.com/2014/11/10/microsofts-ceo-breaks-d ...
- VS2008找不到MFC90d.dll错误解决方法
问题是在更新嵌入的清单文件时发生的,由于FAT32的原因而未能更新嵌入的清单文件,于是我们有如下两种解决方法: (1)不启用增量链接.在项目的“属性|配置属性|链接器|常规”中的“启用增量链接”选择“ ...
- Asp.net 网站出现Service Unavailable 问题剖析
网站出现这样的情况,而且刷新一下又重新正常. 个人分析认为造成原因如下: 1.应用程序池配置存在问题. 2.程序中存在没有关闭的连接数据库对象,或者含有死循环. 3.程序中产生的内存数据量太多,导致网 ...
- LinearLayout使用简单实例
1.代码 import android.annotation.SuppressLint; import android.app.Activity; import android.app.ActionB ...
- TextField详细用法
http://www.cnblogs.com/VincentXue/archive/2012/08/28/2660001.html
- css基础-背景文本
css背景 1. background-color:#6495ed; 2. background-image:url('bgdesert.jpg'); 3. background-repeat:rep ...
- VS2015预览版中的C#6.0 新功能(一)
VS2015预览版中的C#6.0 新功能(二) VS2015预览版中的C#6.0 新功能(三) VS2015的预览版在11月12日发布了,下面让我们来看看C#都提供了哪些新的功能. 字符串添写(Str ...
- Python初学
经同学推荐,学习了下Python语言,看Python的介绍,它本身是一个面向对象的解释型脚本语言,我初看到这句话的时候就在想,一个脚本语言还搞成面向对象?有这个必要么?原谅我肤浅了一把. 它还被俗称为 ...
- debian修改系统语言为英文
原文地址:http://www.chenyudong.com/archives/debian-change-locale-language.html 修改/etc/default/locale 文件里 ...