本文转载自:极光推送 - iOS 证书设置指南 - 极光文档
苹果证书分为,开发者证书,发布证书。
开发者证书可以用来生成发布证书,发布证书已经生成,后面该开发者账号下的所有app都需要用该发布证书签名,如果发布证书丢失,重新做发布证书,那么之前发布的app不受影响,后面发布的app必须使用新的发布证书签名。
以下说明方式生产出来的推送证书都是被发布证书签名的,所以ipa文件也需要用发布证书签名,否则推送证书无效。
1、登录苹果开发者官网,从开发者账户页面左侧入口进入 “Certificates, IDs & Profiles” 页面。
2、创建 App ID,填写 App ID 的 NAME 和 Bundle ID(如果 ID 已经存在可以直接跳过此步骤)
注: 此处需要指定具体的 Bundle ID 不要使用通配符。
3、为 App 开启 Push Notification 功能。如果是已经创建的 App ID 也可以通过设置开启 Push Notification 功能
填写好以上属性后,点击 “Continue”,确认 AppId 属性的正确性,点击 “Register”,注册 AppId 成功。
至此,app的私钥就已经成功配置了,接下来配置极光推送的推送证书。
极光官网应用的鉴权信息一旦配置,只能用相同 bundleID 的鉴权信息进行更新,无法修改为其他的 bundleID,请在配置前仔细检查 bundleID 是否正确,若因特殊原因需要修改,请联系 support@jiguang.cn.cn
这里只讲解使用.p12证书鉴权的方式
1、如果你之前没有创建过 Push 证书或者是要重新创建一个新的,请在证书列表下面新建。
新建证书需要注意选择 APNs 证书种类。如图 APNs 证书有开发(Development)和生产(Production)两种。
注:开发证书用于开发调试使用;生产证书既能用于开发调试,也可用于产品发布。此处我们选择生产证书为例。
点击 "Continue", 之后选择该证书准备绑定的 AppID。这一步是为了让证书跟最开始创建的app私钥进行绑定
再点 “Continue” 会让你上传 CSR 文件。( CSR 文件会在下一步创建)
打开系统自带的 KeychainAccess 创建 Certificate Signing Request。如下图操作:
填写“用户邮箱”和“常用名称” ,并选择“存储到磁盘”,证书文件后缀为 .certSigningRequest 。这里记得修改常用名称为比较好理解的名称,勾选让我指定密钥,这样就可以设置证书和私钥之间的关系了
- 回到浏览器中 CSR 上传页面,上传刚刚生成的后缀为 .certSigningRequest 的文件。
- 生成证书成功后,点击 “Download” 按钮把证书下载下来,是后缀为 .cer 的文件。
- 双击证书后,会在 “KeychainAccess” 中打开,选择左侧“钥匙串”列表中“登录”,以及“种类”列表中“我的证书”,找到刚才下载的证书,并导出为 .p12 文件。如下图:
- 在极光控制台上,进入你应用的应用设置中 iOS 的鉴权方式选择 “证书”,上传刚才导出的 .p12 证书。极光会在后台为你的应用进行鉴权。
- Apple 的生产推送证书允许用于开发环境的推送,勾选将生产证书用于开发环境,开发者可以仅上传生产证书,即可在官网推送平台处选择开发环境做推送,不用再生成和上传开发证书。