ios 开发发布证书配置详细流程
iOS证书配置实践
本文参考了:
iOS证书配置指南:http://dev.umeng.com/push/ios/license-configuration-guide
写在前面:
团队开发证书的管理:
- 一个开发者账户只能申请3个发布证书,2个开发证书(一般在我们的证书界面中应该只有一个开发证书,一个发布证书,所有App和所有开发者共用一个证书即可,没必要生成那么多的证书,造成混乱,证书一般在过期之后才会重新添加。)
- 在团队开发的时候,最好是一个人去管理证书,当有其他人要用的时候,可直接导出.p12证书供其他开发者使用。证书出了问题,我感觉还是相当麻烦的,
- 而App ID在添加之后,基本上是不会改变的,除非要为App添加新的服务,这时候才要重新编辑App ID,所以App ID最好也是管理证书的人去管理App ID。
- 添加设备这一块就很随意了,所有的开发者都应该有权去管理添加设备这一块。
- 描述文件的制作这个要区分一下是开发类型的描述文件,还是发布类型的描述文件。开发类型的描述文件应该是团队里的每一个开发者都有权去管理的,实际上当开发类型的描述文件出现问题的时候,开发者可以对此描述文件重新编辑一下进行使用,这样是不会影响其他开发者的,甚至你可以自己重新制作一个描述文件也没什么问题。但是发布类型的描述文件,这个最好还是管理证书的那个人去管理这个描述文件。打包发布的时候如果这个描述文件出现变化,还是很麻烦的,而且这个描述文件对于团队其他开发者来说也不是很常用,甚至是根本用不到这个描述文件。
总结:
App ID: 每一个应用的独立标识 |
证书:
证书: | 命名 | 特点 | 团队管理 |
---|---|---|---|
开发证书 | iOS Development | 不与App ID对应 表示拥有开发应用的资格 | 一般只需一个,通过导出p12文件,分发给其他电脑安装; |
生产证书 | iOS Distribution | 不与App ID对应 表示拥有发布应用的资格 | 一般只需一个,可以通过导出p12文件,分发给其他电脑;但最好leader一个人管理; |
推送开发证书 | APNs Development iOS | 与App ID对应 | 与需要推送功能的App ID个数相同,可以通过导出p12文件,分发给其他电脑; |
推送生产证书 | Apple Push Services | 与App ID对应 | 与需要推送功能的App ID个数相同,可以通过导出p12文件,分发给其他电脑;但最好leader一个人管理; |
描述文件Provisioning Profiles:
描述文件 | 命名 | 特点 | 团队管理 |
---|---|---|---|
开发描述文件 | iOS Development | 对应App ID & iOS Development证书 & 设备;用于开发人员真机调试 | 每个开发者可以自己去生成和安装 |
Ad Hoc描述文件 | iOS Distribution | 对应App ID & iOS Distribution证书 & 设备;用于打包ipa包给测试团队 | 每个开发者可以自己去生成和安装;但最好leader一个人管理; |
发布描述文件 | APNs Development iOS | 对应App ID & iOS Distribution证书 (不限制设备);用于发布App到App Store | 每个开发者可以自己去生成和安装;但最好leader一个人管理; |
①创建App ID
登录Apple Member Center :https://developer.apple.com/membercenter,选择**certificates,identifiers&profiles **选项,如下图所示:
选择identity
中的APP IDs
,如下图所示:
注意:创建
Explicit App ID
时,要注意此时设置的Bundle ID要与APP以后的Bundle ID一致,如下图所示:
选择**Push Notification **来开通Push功能,如下图所示:
点击下方的**register 按钮,几秒钟之后下方会变成一个Done **,表示APP ID已经创建完成,如下图所示:
注意:
创建的APP ID要与自己项目的Bundle ID保持一致。如果已经有APP ID,请确保自己的APP ID已经开通了Push功能,如果没有开通,可以点击APP ID,在其底部有一个Edit按钮,点击后选中Push服务并创建,如下图所示:
至此,APP ID创建完毕。
②创建开发证书和发布证书
CSR文件
CSR是Cerificate Signing Request的英文缩写,即证书请求文件。证书申请者在申请数字证书时由CSP(加密服务提供者)在生成私钥的同时也生成证书请求文件。证书申请者只要把CSR文件提交给证书颁发机构后,证书颁发机构使用其根证书私钥签名就生成了证书公钥文件,也就是颁发给用户的证书。
在电脑中找到钥匙串----->钥匙串访问------>证书管理------>从证书颁发机构请求证书,如下图所示:
设置完证书信息后,点击“继续”,然后选择存储位置,点击存储,至此,CSR文件创建成功。
开发证书
选择Development(发布证书,需要选择Distribution),如下图所示:
之后,你将看到如下四个证书。这一步,我们选择iOS App Development证书,如下图所示:
在choose file...中选择本地的CertificateSigningRequest(CSR)文件,然后点击继续,如下图所示:
点击Download,将证书下载到本地,双击下载安装。
导出证书的p12文件:
==如果是团队合作,可以将证书导出.p12文件,供其他开发者在各自电脑上安装。==
注意:此步骤所设置的密码将在之后会用到,且密码只能包含大小写(a-z,A-Z ),数字(0-9),特殊字符(.-_),其他元素将会被过滤。
至此,P12证书导出完毕。
将.p12文件收到后,双击该文件,会出现使用文件的密码输入框,输入该.p12文件的使用密码(就是生成的时候设的,不知道就问给你该文件的人),不是本机设备密码。这是配置该文件在本地。然后将开发者账号对应的开发证书和发布证书都可以download使用了。
发布证书
在iOS Certificates下选择All,如下图所示:
在Production下选择App Store and Ad Hoc,如下图所示:
点击choose file选择CSR文件,如下图所示:
生成证书并点击Download,将证书下载到本地,双击下载安装。
==如果是团队合作,可以将证书导出.p12文件,供其他开发者在各自电脑上安装。==
③添加测试设备
测试推送需要添加测试设备,添加方法如下所示:
PS:Xcode8 开始, 会将在真机运行时设备自动加入测试设备。
④创建Provisioning Profiles文件
- iOS App Development 开发描述文件 用于开发人员真机调试 限制设备
- App Store 发布描述文件 用于发布App到App Store 不限制设备
- Ad Hoc 测试描述文件 用于打包给测试团队 限制设备
开发Provisioning Profiles
选择Development,创建开发环境的Provisioning Profiles(如果是发布上线,需要选择Distribution),如下图所示:
创建新的Provisioning Profiles,并选择之前生成好的App ID。如下图所示:
选中创建的证书:开发证书
选中测试设备:
把创建的Provisioning Profiles下载下来(文件名:umengpushtestdemo.mobileprovision)以后双击安装。
测试(Ad Hoc):Provisioning Profiles
在Provisioning Profile下选择All,如下图所示:
在Distribution下选择Ad Hoc,如下图所示:
在Select App ID下选择Ad Hoc,如下图所示:
选择证书,如下图所示:
选择指定设备,如下图所示:
给profile文件起名,如图中起名为Distribution-Ad-Hoc:
把创建的Provisioning Profiles(文件名:Distribution-Ad-Hoc)以后双击证书。
发布Provisioning Profiles
在Distribution下选择App Store,如下图所示:
==不同时开发和Ad Hoc描述需要选择设备,App Store描述不需要选择设备。==
5.创建推送证书
一般App都具有推送功能,推送证书是必须的。推送证书分为开发环境和生产环境:
- 开发推送证书
- 发布推送证书
开发推送证书
选择Apple Push Notification service SSL(Sandbox)
选中APP ID后,点击continue,直到上传CRS文件,如下图所示:
推送证书是对应APP ID的。这与开发证书是有区别的。
点击Download,将证书下载到本地后,双击下载的开发环境推送证书(文件名为:aps_development.cer,可以自己更改命名),就可以在钥匙串访问中的我的证书中找到。
==如果是团队合作,可以将证书导出.p12文件,供其他开发者在各自电脑上安装。==
发布推送证书
推送证书分为开发环境和生产环境,如果需要生成生产环境的推送证书请选择: Apple Push Notification service SSL (Sandbox&Production),如下图所示:
==如果是团队合作,可以将证书导出.p12文件,供其他开发者在各自电脑上安装。==
参考:
iOS证书配置指南:http://dev.umeng.com/push/ios/license-configuration-guide
作者:Alfred_xyz
链接:https://www.jianshu.com/p/fce459fbd10f
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。
ios 开发发布证书配置详细流程的更多相关文章
- ios开发版证书与企业证书相关文件申请安装及其使用方法
本文主要讲述以下内容: ios开发版证书的申请, 企业证书的申请, appid的创建, provision profile的生成, 开发设备devices的绑定, 以及每个证书文件之间的关系, 最后使 ...
- iOS 开发之版本上线更新流程
iOS 开发之版本上线更新流程 把自己app上线的流程记录下来,希望能够让自己加深印象,也能帮助到一些人便是极好的! 证书和描述文件的配置就不写了,直接配置工程吧. 大致把我自己上线的流程写一下: ...
- iOS开发~CocoaPods使用详细说明 分类: ios相关 2015-04-01 16:45 68人阅读 评论(0) 收藏
iOS开发-CocoaPods使用详细说明 一.概要 iOS开发时,项目中会引用许多第三方库,CocoaPods(https://github.com/CocoaPods/CocoaPods)可以用来 ...
- iOS证书申请详细流程
一.事前准备 1.1 准备苹果帐号 首先您需要有一个苹果的开发者帐号,一个mac系统.如果没有帐号可以打开申请加入苹果的开发者计划.如何申请网上有详细的介绍,在此不多做介绍. 如果您已经有了一个帐号, ...
- iOS开发者账号证书配置及相关工作
申请到开发者账号,肯定要先配置一下才可以使用,这主要是iOS证书及配置文件: 以下这篇文章写得比较全面,故不再累赘,需要的同学可以看一下: iOS开发证书与配置文件的使用
- iOS开发~CocoaPods使用详细说明
一.概要 iOS开发时,项目中会引用许多第三方库,CocoaPods(https://github.com/CocoaPods/CocoaPods)可以用来方便的统一管理这些第三方库. 二.安装 由于 ...
- iOS开发MAC下配置svn
版本控制对于团队合作显得尤为重要,那么如何在iOS开发中进行版本控制呢?在今天的博客中将会介绍如何在MAC下配置SVN服务器,如何导入我们的工程,如何在Xcode中进行工程的checkOut和Comm ...
- iOS开发~CocoaPods使用详细说明【转】
一.概要 iOS开发时,项目中会引用许多第三方库,CocoaPods(https://github.com/CocoaPods/CocoaPods)可以用来方便的统一管理这些第三方库. 二.安装 由于 ...
- iOS开发XCODE5 SVN配置 使用办法
第一次弄svn版本控制,折腾了好久一直都出错!无意间看到一篇文章!貌似解决了,很感谢“代码妖娆” 的详细流程(http://blog.sina.com.cn/s/blog_68661bd80101ph ...
随机推荐
- Global 全局样式基本设置
1. 默认字体设置,边距设置 html { font-family: sans-serif; /* 默认字体 */ font-size: 100%; /* 在用户调整窗口大小时,字体大小做相应调整. ...
- QT时钟绘制
Demo的效果 资源占用还能接受 运行久一点内存就下去了 下面是Demo的代码 #include "mainwindow.h" #include "ui_mainwind ...
- linux ip地址自动获取,ip地址…
linux ip地址自动获取,ip地址手动设置(图文解释) 2011-04-19 16:19:31| 分类: 服务器(appache/n | 标签: |字号大中小 订阅 linux ip地址自动获取( ...
- hdu4886 TIANKENG’s restaurant(Ⅱ) (trie树或者模拟进制)
TIANKENG’s restaurant(Ⅱ) Time Limit: 16000/8000 MS (Java/Others) Memory Limit: 130107/65536 K (Ja ...
- SetCapture到底是什么?
函数功能:该函数在属于当前线程的指定窗口里设置鼠标捕获.一旦窗口捕获了鼠标,所有鼠标输入都针对该窗口,无论光标是否在窗口的边界内.同一时刻只能有一个窗口捕获鼠标.如果鼠标光标在另一个线程创建的窗口上, ...
- 【异步编程】Part3:取消异步操作
在.Net和C#中运行异步代码相当简单,因为我们有时候需要取消正在进行的异步操作,通过本文,可以掌握 通过CancellationToken取消任务(包括non-cancellable任务). 早期 ...
- 模板 - 动态规划 - 区间dp
因为昨天在Codeforces上设计的区间dp错了(错过了上紫的机会),觉得很难受.看看学长好像也有学,就不用看别的神犇的了. 区间dp处理环的时候可以把序列延长一倍. 下面是 $O(n^3)$ 的朴 ...
- 719D(树形dp)
题目链接:http://codeforces.com/contest/791/problem/D 题意:给出一棵树,每两个点之间的距离为1,一步最多可以走距离 k,问要将任意两个点之间的路径都走一遍, ...
- bzoj 3671: [Noi2014]随机数生成器【模拟+贪心】
降智好题 前面随机部分按照题意模拟,然后字典序贪心,也就是记录每个值的位置从1~nm依次看能不能取,能取的话更新行的取值范围(它上面的行一定取的列小于等于这个数取的列,下面行大于等于) #includ ...
- VMWare虚拟机Windows下的下载与安装
原文链接:http://www.studyshare.cn/blog-front//software/details/1161/0一.下载此处收集各种开发工具软件,供下载官网下载:https://ww ...