苹果所有常用证书,appID,Provisioning Profiles配置说明及制作图文教程
开发了两年,有时候发现,之前虽然上架过几个app,但久了没去更新,苹果证书里面的一些细节还是会忘了,最近在简书看到一篇写的挺详细的,转来让更多人回忆一下,新人看不懂也可多看几遍,主要还是实际操作才知道。
首先得描述一下各个证书的定位,作用,这样在制作的时候心中有谱,对整个流程的把握也会准确一些;
1、开发者证书(分为开发和发布两种,类型为iOSDevelopment,ios Distribution),这个是最基础的,不论是真机调试,还是上传到appstore都是需要的,是一个基证书,用来证明自己开发者身份的;
2、appID,这是每一个应用的独立标识,在设置项中可以配置该应用的权限,比如是否用到了PassBook,GameCenter,以及更常见的push服务,如果选中了push服务,那么就可以创建生成下面第3条所提到的推送证书,所以,在所有和推送相关的配置中,首先要做的就是先开通支持推送服务的appID;
3、推送证书(分为开发和发布两种,类型分别为APNs Development ios,APNs Distribution ios),该证书在appID配置中创建生成,和开发者证书一样,安装到开发电脑上;
4、Provisioning Profiles,这个东西是很有苹果特色的一个东西,我一般称之为PP文件,该文件将appID,开发者证书,硬件Device绑定到一块儿,在开发者中心配置好后可以添加到Xcode上,也可以直接在Xcode上连接开发者中心生成,真机调试时需要在PP文件中添加真机的udid;是真机调试和必架必备之珍品;
平常我们的制作流程一般都是按以上序列进行,先利用开发者帐号登陆开发者中心,创建开发者证书,appID,在appID中开通推送服务,在开通推送服务的选项下面创建推送证书(服务器端的推送证书见下文),之后在PP文件中绑定所有的证书id,添加调试真机等;
具体操作流程如下:
第一步:申请“开发证书”
1、开发者证书的制作,首先登陆到开发者中心,找到证书配置的版块,猛戳进入,点进证书,会显示如下界面,点击右上角的加号
会出现以下界面,该操作重复两次,分别创建开发测试证书和发布证书,开发测试证书用于真机调试,发布证书用于提交到appStore,我们以开发测试证书为例,选择第一个红框中的内容;
然后下一步,会提示创建CSR文件,也就是证书签名请求文件,会有很详细的操作说明,如果英文不太好,可以参考下图;
(1) 点击钥匙图标
![](http://upload-images.jianshu.io/upload_images/2152349-89a7de1511f47bfa.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
(2) 在菜单栏中依次选择:钥匙串访问⟶偏好设置⟶证书选项卡,下面两项全部选关闭
![](http://upload-images.jianshu.io/upload_images/2152349-2b4ca01f20a3d926.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
(3) 生成证书请求:钥匙串访问⟶证书助理⟶从证书颁发机构请求证书
(4) 输入两个电子邮件地址和常用名称。电子邮件地址是你注册AppleID。
a) 常用名称输入你在苹果网站注册的名称,其它名称没试过,不知道行不行。
b) 选择“存储到磁盘”。保存后的名称应该为:CertificateSigningRequest.certSigningRequest
之后将该CSR文件保存到一处;
c) 保存到磁盘后在你的钥匙串访问窗口应该会出两个密钥,一个公钥密钥,一个专用密钥,红色部分就是你在上面输入的常用名。
![](http://upload-images.jianshu.io/upload_images/2152349-2304b79d9ff79ddf.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
备注:CSR文件尽量每个证书都制作一次,将常用名称区分开来,因为该常用名称是证书中的密钥的名字;
之后在开发者中心将该CSR文件提交;
(5) 生成Certificates证书
提交上去后就会生成一个cer证书,如图所示,有效期为一年;
利用同样的方法配置一下Distribution发布证书,下载保存,双击安装;在钥题串登陆证书中可以查看,其中专用密钥的名字即为CSR请求文件中的常用名称;
第二步:添加App
IDs
2、以上开发者证书的配置完成了,下面我们来配置appID和推送证书;
选择 “Identifiers”的 “App IDs”,点击“+”
![](http://upload-images.jianshu.io/upload_images/2152349-c91fb8f16d5c8e49.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
出现以下界面:
App ID Description 是一个App ID的描述,就是一个名字,这个名字可以随便取
App ID Prefix 苹果已经帮我们填了,不需要我们填,可以看出,它是一个团队的ID
![](http://upload-images.jianshu.io/upload_images/2152349-a10ab059254319a4.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
下一步,选择App ID
Suffix
App ID Suffix 有两个选项:
Explicit App ID :顾名思义,这里要填一个明确的 App ID,
什么意思呢?可以这么来解释:我们做项目时的Bundle Identifier (Bundle ID)是用来标示我们的app的。我们的App ID也是用来标示我们的app的。这两个有什么联系呢?Explicit App ID 就是要我们确定一个唯一的Bundle ID,用来标示我们的 app,使它有一个固定的身份。可以发现,当提交应用到苹果时,如果我们一开始没写Explicit App ID,苹果会自动帮我们生成一个与我们发布时填的一样的Bundle ID 到我们的App ID中。
填写Explicit App ID 的格式为:com.company.appName
Wildcard App ID:顾名思义,这里要填一个通配符的 App ID 。意思就是,我们只需要填一个在所有应用都能试用的 App ID 就好了。
填写WildcardApp ID 的格式为:com.company.*
申请真机调试的时候,不是为了某一个应用去调试,而是为了所有的应用去调试,必须能适应每一个app,所以我们选择Wildcard
App ID。
com.company.* 的company 一般写公司的名字,也可以按需要写
![](http://upload-images.jianshu.io/upload_images/2152349-de8a6de20e4e2ccc.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
可以发现,选择Explicit App ID 会比Wildcard
App ID 多几个服务选项可以选,不过我们是真机调试,所以无所谓,将能选的勾上,选择“Continue”就好。
![](http://upload-images.jianshu.io/upload_images/2152349-4a88cdea3a653389.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
看到如下界面,点击“Submit”后就可以生成App ID了
![](http://upload-images.jianshu.io/upload_images/2152349-ba77cbd813791e84.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
第三步:申请设备
如图,点击“+”,一个99美元账号只能申请100个设备。
![](http://upload-images.jianshu.io/upload_images/2152349-4ee882cb24407630.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
Name 自己取一个设备的名字,UDID约等于设备的身份证,可以在xcode中查看
![](http://upload-images.jianshu.io/upload_images/2152349-b84b721214e7e212.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
查看UDID
打开xcode,选择“Windows” 的“organizer”:
![](http://upload-images.jianshu.io/upload_images/2152349-0ee2be49d0277987.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
选择设备看到 “identifier”,这个就是我们设备的 UDID,将其复制,可以填入上上图显示的 UDID中。
![](http://upload-images.jianshu.io/upload_images/2152349-83df9e0e38625e90.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
当你的机子第一次用于开发时,可以看到,显示的灯是“灰色”的,可以点击“use for developer” 来作为开发机。点击了“use for developer”后,可以发现你的灯变成了黄色的了。
![](http://upload-images.jianshu.io/upload_images/2152349-2ec3bbefd7ec6ca3.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
如果一个手机本来就是开发机(一个手机可以安装多个开发用的描述文件)或者越狱的手机,那么它刚插进去就是绿灯。但是绿灯并不代表就能用,必须安装相适应的描述文件。如图就是一个没有安装相应描述文件的开发机。
![](http://upload-images.jianshu.io/upload_images/2152349-5de2822eae2228a9.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
填好 name 和 UDID后,点击continue 就可以看到如下界面,点击“Register”就可以在苹果上登记了。
![](http://upload-images.jianshu.io/upload_images/2152349-f6c5d7577cb296b7.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
第四步:申请描述文件(PP文件)
4、PP文件的制作
如图点击“+”
![](http://upload-images.jianshu.io/upload_images/2152349-eba3f12894009c5c.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
选择 “iOS App Developer”,然后“Continue”
![](http://upload-images.jianshu.io/upload_images/2152349-8bd9168b79bc9bd5.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
这里选择我们刚刚生成的 App ID,选好后,点击“Continue”
![](http://upload-images.jianshu.io/upload_images/2152349-5d0a4eacefe05535.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
这里选择一个开发证书,有两点要注意:
这个证书是我们刚刚自己在本机(当前电脑)与苹果开发者网站生成的 开发证书 “Development certificate”
如果不是刚生成的,这个证书必须在本地的mac的钥匙串中存在(带密钥的证书,不带密钥的依然无效)
![](http://upload-images.jianshu.io/upload_images/2152349-7b865009b47c3c60.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
如果不想自己在重新生成证书,用别人生成的证书,可以从别人的电脑中导出p12文件,参见最下方的"关于.p12证书".
选好证书以后,点击“Continue”
![](http://upload-images.jianshu.io/upload_images/2152349-9ba19e216ae6b701.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
选择设备,设备可以选择全部设备,也可以按需选择你需要的设备:
![](http://upload-images.jianshu.io/upload_images/2152349-3ceaedbe6bf892ad.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
这里给我们的描述文件取一个名字,这个名字在以后的xcode中是看得到的,所以可以取一个好辨认的名字。取好名字后,选择“Generate”生成描述文件。
![](http://upload-images.jianshu.io/upload_images/2152349-a7a22cadf0170212.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
生成好描述文件后,选择“Download”,双击进行安装(安装后在xcode中可以查看)
![](http://upload-images.jianshu.io/upload_images/2152349-d6a66da85a94e2d7.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
安装成功后,以前没作为开发机的手机会变成绿色的(以前就是开发机和越狱的手机一直是绿色的,但是不重新申请符合证书的真机调试任然是不能真机调试的)
点击“Provisioning
Profiles” 看到 “Valid profile” 就是成功安装的意思。
如果没有安装成功,一般是证书或者描述文件的问题,看看证书是不是从自己的机子上生成的,描述文件的配置信息(是否和你的本机存在的带秘钥的证书相匹配,你添加的设备是否包含你现在选择调试的设备)等,如图第一个警告是因为没有证书与描述文件相匹配出现的
![](http://upload-images.jianshu.io/upload_images/2152349-075affd089369c54.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
配置好后,还不是绿灯,则考虑问题:
设备版本高于XCode所能支持的版本,如XCode4.6.3,能支持的最高版本未iOS6.1,如果你的设备系统大于等于iOS7以上,此时需要 更新至XCode5; 再如:XCode5 不支持ios7.1,如果想开发ios7.1,必须将xcode5 升级到 xcode5.1以上版本;
例如:
![](http://upload-images.jianshu.io/upload_images/2152349-fca28a7802743d2d.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
![](http://upload-images.jianshu.io/upload_images/2152349-f81b40cd249dbc6f.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
在真机调试时,不要忘记设置这两个,否则调试失败:
这个必须填:之前写Wildcard
App ID 的内容. app的名字
![](http://upload-images.jianshu.io/upload_images/2152349-7e9fa8a2f95df8b1.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
![](http://upload-images.jianshu.io/upload_images/2152349-fc9e56427226aa16.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
设置好这两个之后再点击运行。
关于.p12证书
为什么要导出.p12文件
当我们用大于三个mac设备开发应用
时,想要申请新的证书,如果在我们的证书里,包含了3个发布证书,2个开发证书,可以发现再也申请不了开发证书和发布证书了(一般在我们的证书界面中应该
只有一个开发证书,一个发布证书,没必要生成那么多的证书,证书一般在过期之后才会重新添加。)
如图:
![](http://upload-images.jianshu.io/upload_images/2152349-14b4dc44d858957d.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
这时候,再点击“+”时,就会发现点击不了开发和发布证书,也就是添加不了开发证书和发布证书了:
![](http://upload-images.jianshu.io/upload_images/2152349-383ac17d72e5cf97.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
有两个解决不能添加证书的办法。
第一种方法——“revoke”(不推荐):
将以前的证书“revoke”掉,如图:
![](http://upload-images.jianshu.io/upload_images/2152349-41feb1e5fe2e3dcc.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
然后重新生成一个新的证书。
这种方法是可以的,但是会造成相应的Provisioning Profiles失效,这个可大可小。如果只有你一个人则问题不大,如果是一个团队大家都在用,你把这个证书删除了,会导致别人的描述文件失效,这意味着别人不能发布应用了(还可以开发),这可是大问题,所以不提倡这种做法。
第二种方法——“.p12”(推荐):
我们的每一个证书都可以生成一个.p12文件,这个文件是一个加密的文件,只要知道其密码,就可以供给所有的mac设备使用,使设备不需要在苹果开发者网站重新申请开发和发布证书,就能使用。
注意:一般.p12文件是给与别人使用的,本机必须已经有一个带秘钥的证书才可以生成.p12文件,如图:
![](http://upload-images.jianshu.io/upload_images/2152349-fbb8e2b56105705f.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
打开钥匙串,选择我们需要的证书,右击,选择“导出“iPhone Distribition:```”:
![](http://upload-images.jianshu.io/upload_images/2152349-257e2a5cfd3a6e5e.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
为.p12文件填一个名字,点击存储:
![](http://upload-images.jianshu.io/upload_images/2152349-127ea9020301f13e.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
填一个“密码”,“验证”和密码相同:
![](http://upload-images.jianshu.io/upload_images/2152349-7fbe710926a72482.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
点击好,在桌面上就形成了一个.p12文件了:
![](http://upload-images.jianshu.io/upload_images/2152349-bc8295d4bc2980e4.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
在别人的电脑上要成功安装,须具备两个文件:
该证书导出的“.p12”文件。
苹果开发者中的与“证书”对应的“描述文件”
如果需要用于开发的,那么需要这两个文件:
.p12文件本身就是一个加密的证书,所以用这两个文件就可以让其他mac设备使用了:
![](http://upload-images.jianshu.io/upload_images/2152349-2aa77c671dcbc6c1.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
拿到这两个文件后,依次双击“证书”,“.p12“文件(需要输入密码,密码就是当时生成.p12时设定的密码,),作用是加入钥匙串中,使我们的电脑具备开发的证明,”描述文件“(作用是置于xcode中,让xcode知道我们开发的合法性),添加完后就可以使用了。
苹果所有常用证书,appID,Provisioning Profiles配置说明及制作图文教程相关推荐
- 苹果所有常用证书,appID,Provisioning Profiles配置说明及制作图文教程(精)
概述: 苹果的证书繁锁复杂,制作管理相当麻烦,今天决定重置一个游戏项目中的所有证书,做了这么多次还是感觉很纠结,索性直接记录下来,日后你我他查阅都方便: 首先得描述一下各个证书的定位,作用,这样在制作 ...
- 苹果常用证书 配置说明及制作图文教程
holydancer原创,如需转载,请在显要位置注明: 转自holydancer的CSDN专栏,原文地址:http://blog.csdn.net/holydancer/article/details ...
- GSWiFi路由器苹果安卓手机辅助连接通用方法-网线版(图文教程)
| y1002vip(个人号ID:xypjwifi) | 校园路由器oline(公众号ID:xyrouter) | GSWIFI工作室(公众号ID:gswifi999) 注意此方法请[全程使用手机]来 ...
- IOS 证书(Certificate)与描述文件(Provisioning Profiles)
在使用脚本xcodebuild自动打包的时候,会用到签名证书和描述文件,我在编译的时候搞了好长时间才搞明白,下面介绍如何得到正确配置. 证书:证书是用来给应用程序签名的,只有经过签名的应用程序才能保证 ...
- 关于开发证书配置(Certificates Identifiers Provisioning Profiles)IOS发布(转)
原文: 点击打开链接 标记一下 引言 关于开发证书配置(Certificates & Identifiers & Provisioning Profiles),相信做 iOS 开发的 ...
- iOS小知识:开发者后台添加新的UDID之后,如何更新自动管理签名证书的设备描述文件(Provisioning Profiles)?
文章目录 引言 I.更新自动管理签名证书的设备描述文件的方案 II.iOS无线真机调试 III 手动管理证书: iOS证书(.p12)和描述文件(.mobileprovision)申请 3.1 登录 ...
- Apple ID,APP ID,Bundle ID,iOS Certificates,iOS Provisioning Profiles各自含义以及之间的关系
1.Apple ID Apple ID其实就是开发者账号.只不过要成为开发者,需要去苹果开发者中心激活开发权限.激活开发者账号分为三种,个人,公司和企业.这三种账号各自有些区别,下表是他们主要区别 ...
- Xcode 5中缺少Provisioning Profiles菜单项
本文翻译自:Provisioning Profiles menu item missing from Xcode 5 After spending a whole day installing a f ...
- 创建授权文件(Provisioning Profiles ---- PP文件)
创建配置描述文件 一.打开iOS Dev Center,"Provisioning Profiles"->"All",点击右上角"+" ...
最新文章
- android 图片水印处理 文字倾斜处理
- 手机安全卫士——进程管理
- 大屏设计的视觉统一_视觉设计中的统一
- sql server2008如何创建外键
- 自定义Button,复写里面的onKeyDown,不起作用
- SCPPO(二十五):从导数据看如何将一天过出多天的效果
- leetcode最小面积_LeetCode 题解 |力扣杯 LCP 13.寻宝
- [Vuforia]二.3D物体识别
- 装饰公司如何做seo
- Android小心心动画
- 若依微服务版部署到IDEA(超详细,小白看了也能会)
- 【蓝桥杯】Python字符串处理和应用
- P4281 [AHOI2008]紧急集合 / 聚会(LCA做法)
- 【NoteBook】吴晓波:《影响商业的50本书》——第一部分:当商业开始改变世界
- C# 托盘图标缓存清除
- strok函数用法【转】
- vue电商项目sku 规格 详细步骤
- 基于SpringBoot框架的美食分享网站系统
- Flink部署——Metric Reporters
- 润乾报表 表头斜线 怎么设置