前言
用 react-native 开发项目时,在对 iOS 证书相关的配置,每次操作一遍后过一段时间又忘了。所以将证书的配置流程都记录下来,方便以后查阅。
创建应用程序 ID
首先需要开发者账号,登录苹果开发者网站进入开发者账户。
进入 Certificates, Identifiers & Profiles
页面。
选择 Identifiers 创建 App ID,填写 App ID 的 Description 和 Bundle ID。
一般选择 App IDs 即可。
为 App 添加一些功能,比如消息推送功能。
填写好以上信息后,点击 Continue,确认 AppId 正确填写,点击 Register,注册 AppId 成功。
创建 CSR 文件(证书请求文件)
CSR(Certificate Signing Request)即证书请求文件。证书申请者在申请数字证书时由 CSP(加密服务提供者)在生成私钥的同时也生成证书请求文件(CSR 文件),证书申请者只要把 CSR 文件提交给证书颁发机构后(创建 App ID 时上传到苹果后台),证书颁发机构使用其根证书私钥签名生成证书公钥文件(开发者证书)。
CSR 文件在创建 Certificates 时需要上传。
使用 Mac 自带的 钥匙串访问
来创建 Certificate Signing Request
文件,如下图操作:
填写 用户邮箱
和 常用名称
(名称可以随意填),并选择 存储到磁盘
,文件后缀为 .certSigningRequest
。
创建证书
iOS 证书是用来证明 iOS App 内容(executable code)的合法性和完整性的数字证书。对于想安装到真机或发布到 AppStore 的应用程序(App),只有经过签名验证(Signature Validated)才能确保来源可信,并且保证 App 内容是完整、未经篡改的。
选择 Certificates 点击加号。
选择相应的证书种类,如图有开发调试证书、生产发布证书(App Store 上传应用商店、Ad Hoc 用于测试包发布)、开发环境推送证书、生产环境推送证书。选择你需要的证书。
再点击 Continue,选择之前生成的 CSR 文件上传,继续点击 Continue,证书创建完成。下载下来添加到钥匙串访问中。
推送证书和极光推送
项目中需要消息推送服务的话,就需要用的消息推送证书。我使用的是极光推送,把消息推送证书 Download 下来,双击添加到钥匙串访问中。找到刚才下载的证书并导出 .p12
文件,之后需要添加到极光后台。
点击存储后需要输入密码,密码要记住,上传到极光后台需要用到。
假设你的极光后台应用信息已经填写好,设置证书时如下图:
上传之前导出的 .p12
文件,填写导出时设置的密码,极光会在后台为你的应用进行鉴权。
创建配置文件
创建 Provisioning Profile 的前提,已在 Apple Developer 网站创建待发布应用所使用的 Bundle ID 的 App ID。
选择 Profile 点击加号按钮,创建 Provisioning Profile。
选择你需要的 Profile 环境。
选择之前创建的 App ID、相应的证书、测试的设备、profile 名称,一直 Continue 即可。
填写完 Profile Name 点击 generate 完成,之后点击 DownLoad,下载 .mobileprovision
的文件,双击文件即可添加到 Xcode。
至此证书和配置文件之类的都创建完了。
其他问题
Xcode Missing Private key 解决方案
当我们换另一台 Mac 设备开发打包的时候,会发现提示 Missing Private key
。
因为苹果规定 .cer
证书只能存在于一台机器上,因此如果另一台电脑想要用的话,需要导出为 .p12
文件,安装到另一台没有安装 .cer
文件的 Mac 电脑。
详细说明参考该篇博客 https://www.jianshu.com/p/6372055fbaa0