iOS证书配置实践

作者: OnePi | 来源:发表于2017-03-24 10:50 被阅读1130次

    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,如下图所示:

    创建id

    注意:创建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文件

    CSRCerificate 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,如下图所示:

    这里写图片描述

    选择证书,如下图所示:

    这里写图片描述

    选择指定设备,如下图所示:

    这里写图片描述

    给profile文件起名,如图中起名为Distribution-Ad-Hoc:

    这里写图片描述

    把创建的Provisioning Profiles(文件名:Distribution-Ad-Hoc)以后双击证书。

    这里写图片描述

    发布Provisioning Profiles

    Distribution下选择App Store,如下图所示:

    这里写图片描述

    选中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

    相关文章

      网友评论

      • 我想说_:生产证书(发布证书)最多只能有两个吧 为什么有三个?
      • 木头Lee:总结的非常详细,很实用,已收藏,感谢:pray:

      本文标题: iOS证书配置实践

      本文链接:https://www.haomeiwen.com/subject/kxgxottx.html