iOS APP 证书配置

本文包括内容:上线证书配置、推送证书配置、蒲公英测试证书配置。

一、 简单科普

苹果开发者中心网站

开发者账号类型:

    个人开发者账号:

99美金(约688元/年)(调试证书最多只能有两个),开发者直接显示申请人姓名,最多添加100台测试设备,(公司也可以)

    公司开发者账号:

99美金(约688元/年)需要提供邓白氏编码,用于企业认证,可以进行团队开发管理,开发直接显示公司名称,最多添加100台测试设备

    企业开发者账号:

299美金  需要提供邓白氏编码,程序不能上架到AppStore(用于企业内部办公软件等)(调试证书最多有五个),需要公司老板或者合伙人才能申请,流程复杂。测试设备无限,用于外包公司开发者测试

4个证书:

真机调试证书

推送调试证书

发布证书: 用于发布appstore的证书

推送发布证书: 用于上传appstore的程序具备推送功能

1个AppID: 就是bundleId

在开发者后台配置bundleid,如果配置精确的,那么才可以推送

如果配置含有通配符的,那么不可以推送

2个Profile文件:调试和发布都需要

有一些公司不能开发者账号: 给profile+p12文件,首先搜集你的id,也可上淘宝上买证书

1. cer证书:

      功能: 认证电脑,确定这台电脑是开发者所有,才可以调试打包

      上传电脑唯一标识,然后生产、安装证书到本地,调试的时候需要判断证书

2. 描述文件: 

      cer+udid(手机唯一标识)+bundleid ----> 登录开发者账号 -》证明该描述文件是开发者所有

      xcode7自带调试free免费原理:

      p12证书(通过cer证书生成,本来我的电脑可以调试,转让电脑调试权利生成p12证书)

      描述文件: p12+udid+bundleid

不给开发者账号:

1. 提供手机udid,然后公司领导添加开发者账号中,

重新生成profile文件,包含你的手机的udid信息

2. 从.cer证书中导出 .p12证书, 导出profile文件

3. 安装.p12证书, xcode导入profile文件

    通过蒲公英获取UDID: 在蒲公英官网的最下方

    打包之前把设备信息UDID添加到开发者账号上:

    然后打包以后把包上传到蒲公英后台,生成二维码即可扫描下载用safari浏览器,支持100台设备

    iOS 持续集成:  jekins (自动打包上传蒲公英)


二、上线证书配置


1.创建证书

点击“证书、标识符、文件”

iOS APP 证书配置_第1张图片

添加证书

iOS APP 证书配置_第2张图片

选择证书

开发证书(Development):最多1个(20180525日只能生成一个了)

发布证书(Production):最多3个(网传)

iOS APP 证书配置_第3张图片

准备创建CSR文件(这里以Production 的 App Store And AD Hoc为例)

iOS APP 证书配置_第4张图片

创建CSR文件01(打开钥匙串->证书助理->从证书颁发机构请求证书)

iOS APP 证书配置_第5张图片

创建CSR文件02(填写电子邮件地址,常用名称,这两项都可以随便填,注意要把CSR文件存储到磁盘)

iOS APP 证书配置_第6张图片

创建CSR文件(为CSR文件取名,建议最好取一个和你项目名称相关的名字)

iOS APP 证书配置_第7张图片

选择刚刚创建的CSR文件

iOS APP 证书配置_第8张图片

创建证书完毕,下载证书

iOS APP 证书配置_第9张图片

Extension:CSR是Cerificate Signing Request的英文缩写,即证书请求文件,也就是证书申请者在申请数字证书时由CSP(加密服务提供者)在生成私钥的同时也生成证书请求文件,证书申请者只要把CSR文件提交给证书颁发机构后,证书颁发机构使用其根证书私钥签名就生成了证书公钥文件,也就是颁发给用户的证书。

2.配置APP ID

配置项目的APPID(即BundleID)

iOS APP 证书配置_第10张图片

给AppID取名(建议使用项目名称,便于区分)

iOS APP 证书配置_第11张图片

设置BundleID(建议设置精确的BundleID。如果选择通配符BundleID,比如推送功能是无法使用的)

iOS APP 证书配置_第12张图片

注册BundleID

iOS APP 证书配置_第13张图片

确认无误,注册BundleID

iOS APP 证书配置_第14张图片

注册BundleID完毕

iOS APP 证书配置_第15张图片

Tips:

Bundle ID 是唯一标识符,不能重复,必须保证是唯一的(如果某些程序在真机调试的时候报 Bundle ID 的错误,更改一下 BundleID 一般可以解决)

3.配置Device

添加测试设备

iOS APP 证书配置_第16张图片

获取设备的UDID(iTunes或者Xcode获取)

iOS APP 证书配置_第17张图片
iOS APP 证书配置_第18张图片

注册设备

iOS APP 证书配置_第19张图片

Tips

这里的设备在开发者付费后1年内最多只能添加100台,如果没有在这里配置Device的UDID,Xcode在登录过开发者账号的情况下, 也可以自动修复

4.配置包含以上三者信息的描述文件

添加描述文件

iOS APP 证书配置_第20张图片

选择创建发布到AppStore的类型

iOS APP 证书配置_第21张图片

选择对应的AppID,如果之前AppID是按照项目名取的,这里就很好找。所以说取名一定要有套路,一定要规范!

iOS APP 证书配置_第22张图片

选择对应的证书(之前是可以默认全部勾选的,但是现在不可以了,所以只能选择刚才创建的证书,看名字不好辨别,只能根据证书到期日期判断,比如今天是2018年3月20日,所以推断出,2019年3月19日的那个证书是刚刚创建的)

iOS APP 证书配置_第23张图片

如果配置开发证书,这里还要多一步,选择设备,直接全部选择就好了

给描述文件取名(一定要规范!一定要规范!!一定要规范!!!)

iOS APP 证书配置_第24张图片

下载描述文件

iOS APP 证书配置_第25张图片


三、推送证书配置


以极光推送为例。创建 App ID和钥匙串签名为上文重复内容,如果已经做过,不必重复。

创建 App ID,填写 App ID 的 NAME 和 Bundle ID(如果 ID 已经存在可以直接跳过此步骤)。

iOS APP 证书配置_第26张图片

    注: 此处需要指定具体的 Bundle ID 不要使用通配符。

iOS APP 证书配置_第27张图片

为 App 开启 Push Notification 功能。如果是已经创建的 App ID 也可以通过设置开启 Push Notification 功能。

iOS APP 证书配置_第28张图片

填写好以上属性后,点击 “Continue”,确认 AppId 属性的正确性,点击 “Register”,注册 AppId 成功。

两种鉴权方式的配置

极光官网应用的鉴权信息一旦配置,只能用相同 bundleID 的鉴权信息进行更新,无法修改为其他的 bundleID,请在配置前仔细检查 bundleID 是否正确,若因特殊原因需要修改,请联系 [email protected]

方式一:通过 .p12 证书鉴权

如果你之前没有创建过 Push 证书或者是要重新创建一个新的,请在证书列表下面新建。

iOS APP 证书配置_第29张图片

新建证书需要注意选择 APNs 证书种类。如图 APNs 证书有开发(Development)和生产(Production)两种。

    注:开发证书用于开发调试使用;生产证书既能用于开发调试,也可用于产品发布。此处我们选择生产证书为例。

iOS APP 证书配置_第30张图片

点击 "Continue", 之后选择该证书准备绑定的 AppID。

iOS APP 证书配置_第31张图片

点击 “Continue”,会进入 CSR 说明界面。

iOS APP 证书配置_第32张图片

再点 “Continue” 会让你上传 CSR 文件。( CSR 文件会在下一步创建)

iOS APP 证书配置_第33张图片

打开系统自带的 KeychainAccess 创建 Certificate Signing Request。如下图操作:

iOS APP 证书配置_第34张图片

填写“用户邮箱”和“常用名称” ,并选择“存储到磁盘”,证书文件后缀为 .certSigningRequest 。

iOS APP 证书配置_第35张图片

回到浏览器中 CSR 上传页面,上传刚刚生成的后缀为 .certSigningRequest 的文件。

生成证书成功后,点击 “Download” 按钮把证书下载下来,是后缀为 .cer 的文件。

iOS APP 证书配置_第36张图片

双击证书后,会在 “KeychainAccess” 中打开,选择左侧“钥匙串”列表中“登录”,以及“种类”列表中“我的证书”,找到刚才下载的证书,并导出为 .p12 文件。如下图:

iOS APP 证书配置_第37张图片
iOS APP 证书配置_第38张图片

在极光控制台上,进入你应用的应用设置中 iOS 的鉴权方式选择 “证书”,上传刚才导出的 .p12 证书。极光会在后台为你的应用进行鉴权。

Apple 的生产推送证书允许用于开发环境的推送,勾选将生产证书用于开发环境,开发者可以仅上传生产证书,即可在官网推送平台处选择开发环境做推送,不用再生成和上传开发证书。

iOS APP 证书配置_第39张图片


或者直接从AppID编辑中分别配置开发和生产证书。钥匙串上传和之前一样,配置完成后分别Download。然后分别双击证书进行安装,进入证书管理界面,分别导出对应的P12证书,并设置密码。


iOS APP 证书配置_第40张图片
选中AppID查看详情
iOS APP 证书配置_第41张图片
点击编辑
iOS APP 证书配置_第42张图片
iOS APP 证书配置_第43张图片
iOS APP 证书配置_第44张图片
iOS APP 证书配置_第45张图片
上传钥匙串后


iOS APP 证书配置_第46张图片
分别下载



方式二:通过 APNs Auth Key 鉴权

点击左侧列表 “Keys” 中的 “All”,看账户中是否已有 auth key,没有则点击 “+” 新建。

iOS APP 证书配置_第47张图片

填写该 key 的描述并选择服务,如下图。 (注:在开发和生产环境均可使用,且不会过期。)

iOS APP 证书配置_第48张图片

点击 “Continue” 让你确认信息,再点击 “confirm”,就可以下载该 key 了。(注意:记下 key id,而且只可以下载一次,请妥善保存。)

iOS APP 证书配置_第49张图片

获取你之前创建过的应用的 Bundle ID

iOS APP 证书配置_第50张图片

在开发者账户的 “Membership” 页面获取 Team ID

iOS APP 证书配置_第51张图片

在极光控制台上,进入你应用的应用设置中 iOS 的鉴权方式选择 “Token Authentication”,上传 auth key 文件,并填写你的 KEY ID,TeamID,和指定应用的 BundleID。极光会在后台为你的应用进行鉴权。

iOS APP 证书配置_第52张图片

Provisioning Profile 的创建

创建 Provisioning Profile 的前提,已在 Apple Developer 网站创建待发布应用所使用的 Bundle ID 的 App ID,且为该 App ID 创建了 iOS Development 证书。

在苹果开发者账号的 Provisioning Profile 页面点击下图按钮,创建 Provisioning Profile

iOS APP 证书配置_第53张图片

选择此 Provisioning Profile 的环境后点击 [Continue]:

iOS APP 证书配置_第54张图片

选择要创建 Provisioning Profile 的 App ID 后点击 [Continue]:

iOS APP 证书配置_第55张图片

选择所属的开发者证书,(这里创建了多个开发者证书,建议只创建一个,方便管理)为了方便,选择了 [Select All],再点击 [Continue] 进入下一步:

iOS APP 证书配置_第56张图片

为该 Provisioning Profile 选择将要安装的设备(一般选择 [Select All]),点击 [Continue]:

iOS APP 证书配置_第57张图片

给该 Provisioning Profile 填写 Profile Name,点击 [generate] 完成创建。

iOS APP 证书配置_第58张图片

填写完 Profile Name 后点击 [generate] 完成创建,之后点击 [DownLoad] 下载 Provisioning Profile

iOS APP 证书配置_第59张图片

双击下载下来的 Provisioning Profile,添加到 xcode。

XCode 的证书配置教程

参照 iOS SDK 集成指南集成 JPush SDK 和上传了推送用到的 p12 证书后在编译运行前需要先配置一下证书,步骤如下:

打开 xxx-info.plist 的 Bundle identifier 项把上传到 JPush 控制台的 bundle id 填写进去:

iOS APP 证书配置_第60张图片

点击项目,选择目标 TARGETS 后进入 Build Setting 界面,搜索 “Code signing”,按照下图配置

iOS APP 证书配置_第61张图片



四、蒲公英测试证书配置


iOS 应用的证书选择

对于一个未上线 App Store 的应用,一般来说,开发者如果需要将应用安装到某些用户的设备上,就需要将应用导出为这些设备可以直接安装的安装包(.ipa文件),安装包能否正确导 出,是决定了应用能否被正确安装到设备上的关键因素。其中,最关键的一个因素是,导出安装包时,应用所使用的证书(即:签名方式)。

开发者可以选择如下两种方式的证书签名方式,来导出应用安装包:

1.Ad-hoc 方式

2.In-house 方式

其中,具体使用哪种方式,取决于开发者拥有苹果开发者账号的类型。例如,如果开发者拥有的是苹果个人开发者账号,则可以使用 Ad-hoc 方式;如果拥有的是苹果企业开发者账号,则可以使用 In-house 方式。关于苹果开发者账号支持的证书类型,请见下表:

账号类型价格可以发布AppStore?可以通过蒲公英安装?支持安装设备数量申请条件证书类型


iOS APP 证书配置_第62张图片

关于导出时,具体的操作方式,请查看:打包 iOS 的 IPA 文件

三种证书签名的区别

到目前为止,苹果为 iOS 应用共提供了三种类型的证书签名方式,每一种都有独特的用途。这三种分别是:

1.Ad-hoc

2.In-house

3.App-Store

蒲公英会根据打包证书的不同,分别显示为内测版、企业版、App-Store版。

关于这三种类型的证书,区别如下表所示:


iOS APP 证书配置_第63张图片

当一个 iOS 的应用上传到蒲公英后,蒲公英会显示出这个应用是使用哪种方式的证书来签名打包的。如图所示:


iOS APP 证书配置_第64张图片

同时,在应用下载页面、应用管理页面中,也可以看到某个应用的打包方式。

注:此文仅适用于 iOS 类型的应用。


iOS 设备的 UDID

什么是 UDID?

UDID 是由子母和数字组成的 40 个字符串的序号,用来区别每一个唯一的 iOS 设备,包括 iPhones, iPads, 以及 iPod Touches,这些编码看起来是随机的,实际上是跟硬件设备特点相联系的。

例如,一个典型的 UDID 类似这样:

37f2f993bae681636e30e74b04d6b8955ba36f29

如何获取 iOS 设备 UDID?

UDID 的获得可以由 iTunes 工具来获得,也可以通过 Xcode 来获得,不过无论是 iTunes 还是 Xcode,都会稍显麻烦。蒲公英提供了一个简单的获取 UDID 的工具。

http://www.pgyer.com/udid

在 iOS 设备上打开上面的地址,即可方便的获取到当前设备的 UDID。

注意:请根据网页的提示,安装蒲公英提供的描述文件。如果手机设置了锁屏密码,则需要根据提示输入锁屏密码。

UDID 和 Ad Hoc

如果 iOS 设备要安装以 Ad Hoc 方式打包的 iOS 应用时,必须将该设备的 UDID 加入打包应用时的证书文件(.mobileprovision文件),才可以在该设备上正常安装。

如何查看应用中包含哪些 UDID?

当一个 iOS 应用的安装包文件(.ipa)被上传到蒲公英后,蒲公英会自动显示出该安装包中包含的 UDID 列表。开发者可以在如下页面中查看:

应用管理 -> 应用名称 -> 内测设备

如图所示:


iOS APP 证书配置_第65张图片

点击数字,可以查看具体的 UDID 列表


iOS APP 证书配置_第66张图片

向安装包中添加设备 UDID

前言

注:本文适用于只有苹果个人开发者账号、公司开发者账号、或教育开发者账号的 iOS 开发者。

对于没有企业开发者账号(299$)的开发者来说,要想使用蒲公英将自己的应用分发给其他用户的 iOS 设备,只能通过将要安装设备的 UDID 添加到应用的 mobileprovision 文件中来实现。本文说明了如何正确的将 iOS 设备的 UDID 添加到应用的 mobileprovision 文件中。

关于苹果开发者账号类型的说明,请见:iOS 应用的证书选择

1. 获取 iOS 设备的 UDID:

蒲公英提供一个非常方便的功能,可以帮助开发者快速获取一台设备的 UDID。具体可见文章:获取 iOS 设备的 UDID

2. 生成 Provisioning Profile 文件:

在获取到设备的 UDID 后,接下来,登录苹果开发者网站,添加想要安装测试应用的设备的 UDID(苹果设置最多只能添加 100 个 UDID)。


iOS APP 证书配置_第67张图片

添加发布证书。点击左侧导航栏 Provisioning Profiles 中的 Distribution,添加一个新的证书:


iOS APP 证书配置_第68张图片

选择Ad Hoc


iOS APP 证书配置_第69张图片

选择一个App ID,这里选择要安装应用的 App ID


iOS APP 证书配置_第70张图片

选择开发者


iOS APP 证书配置_第71张图片

勾选需要安装应用的测试设备(一般情况下全选即可)


iOS APP 证书配置_第72张图片

给 Provisioning Profiles 设置一个名字


iOS APP 证书配置_第73张图片

下载 Provisioning 文件到本地


iOS APP 证书配置_第74张图片

至此,我们就完成了 Provisioning Profile 文件的生成。目前这个生成的文件中,就是包含设备 UDID 的文件。接下来,我们就需要将这个文件导入 Xcode,然后重新打包应用安装包(.ipa文件)。

3. 导入 Provisioning Profile 文件到 Xcode

导入 Provisioning Profile 文件非常方便,只需要双击 Provisioning Profile,即可导入 Xcode。导入 Xcode 后,开发者就可以在项目的 Building Settings - Provisioning Profile 一项中,看到新的 Provisioning Profile 名字。

4. 打包应用的安装包(.ipa文件)

设置好 Provisioning Profile 文件后,即可使用新的 Provisioning Profile 文件来生成新的应用安装包,蒲公英对于如何生成应用安装包,有一篇文章来专门描述,请点击这里查看:打包 iOS 的 IPA 文件

5. 上传应用的安装包(.ipa文件)到蒲公英

用这种方式生成的应用安装包,上传到蒲公英后,就可被已经添加了 UDID 的设备来安装。这种应用上传到蒲公英后,蒲公英会显示为 内测版,同时会显示出这个安装包的 Provisioning Profile 文件中包含的 UDID 列表。

关于如何上传应用安装包到蒲公英,请见:应用上传一文。

个人更喜欢fir这个平台。

你可能感兴趣的:(iOS APP 证书配置)