码迷,mamicode.com
首页 > 移动开发 > 详细

iOS推送证书从申请到使用

时间:2017-08-13 11:21:49      阅读:237      评论:0      收藏:0      [点我收藏+]

标签:界面   bundle   files   cti   pos   sso   依次   选择   上传   

关于这个话题,已经有非常多写的非常好的文章了。可是,在自己做的过程中,即使别人写的已经非常好了,还是会遇到这样那样的问题。

自己还是再写一遍吧。

本文记录了从无到有申请证书,到最后可以发出通知。当然,前提是我们有一个合适的开发人员帐号。

准备工作

1. 登录开发人员帐号,假设帐号的权限合适。我们会看到例如以下图:

技术分享

或者最新的界面应该是以下(刚刚发现页面更新了):

技术分享

2. 点击红色框内的菜单。会来到例如以下界面:

技术分享

创建App ID

这里要创建的App ID就是我们的App的Bundle Id。

3. 点解左側的“App IDs”。会看到当前帐号下的全部App ID。

技术分享

4. 点击右上角的?

技术分享

技术分享

技术分享

App ID Description下加入这个这个App ID的描写叙述,如“My Test App”。


App ID Prefix下填写App的Bundle ID。不要带*号。


App Services下,勾选Push Notifications。


5. 点击Continue。会看到刚创建的App Id的信息。例如以下图:

技术分享

6. 这时候再点击左側的“App IDs”,会看到右边的列表多了一条。

技术分享

申请证书

推送证书分为开发证书和生产证书。我们以生产证书为例。

7. 点击左側的“Certificates”下的“Production”,会看到当前帐号下的全部生产证书

技术分享

8. 点击右上角的?

技术分享

9. 选中Production下的Apple Push Notification service SSL。点击Continue

技术分享

10. 在App ID下选中我们新建的App ID。点击Continue

技术分享

11. 点击Continue。来到例如以下界面。须要我们上传CSR文件

技术分享

接下来,我们要先在本地生成CSR文件。

12. 打开钥匙串(Keychain Access)程序。点击左上角的Keychain Access,做例如以下图的选择

技术分享

12. 然后会看到例如以下提示

技术分享

13. 填入邮箱等信息。选择“Save to Disk”。点击Continue后。会提示保存选择保存位置。选择合适的保存位置,保存。

14. 再接着第#11步。我们要上传刚才生成的CSR文件。点击“Choose File”,选择我们刚才生成的文件。然后点击Continue。然后会来到例如以下界面:

技术分享

这时。我们的证书已经创建好了。点击Download,将证书下载到本地。

我在桌面创建一个名为Cert的目录,将证书放到该目录下。

一会儿还会用。

创建Provisioning Profile

15. 点击左側的Provisioning Profiles下的Distribution

技术分享

16. 点击右上角的?

技术分享

17. 点击Distribution下的In House,点击Continue

技术分享

18. 在App ID下选择我们新建的App ID。

点击Continue

技术分享

19. 选择我们刚才新建的证书所属的帐号。

点击Continue

技术分享

19. 在Profile Name中。输入Profile的名字。点击Continue

技术分享

这时。我们的Profile已经创建好了。点击Download,下载到本地。我把下载的Profile放到了在#14步中新建的Cert文件下。

生成供服务端使用的证书

这一步是在我们已经申请好的证书基础上,执行SSL命令。生成供我们的服务端使用的证书(也就是说,我们的服务端在发送通知的时候。要载入合适的证书)。
20. 打开桌面上的Cert目录。双击我们新申请的证书,证书会被倒入到钥匙串(Keychain Access)中。

打开钥匙串程序,点击Certificate,找到我们新建的证书,右键导出。

例如以下图:

技术分享
21. 输入文件名。选择要保存的位置(我放在桌面上)。

点击Save

技术分享
22. 导出的时候,会要求输入password。例如以下图:
技术分享
23. 输入password。点击OK。

证书就被保存到了桌面上

技术分享

24. 好吧。刚才保存的位置不好。

把刚才导出的证书拖到Cert目录中。

25. 在Cert下创建一个Gen目录,将下载的证书和导出的证书拷贝到Gen中。

并在Gen文件下,做例如以下的重命名:

下载的证书->developer_identity.cer

导出的证书->mykey.p12

注:这一步不是必须的。全然能够省略。我仅仅是为了方便有用接下来的命令(參考自这里)。

25. 打开终端(Terminal)程序,cd到桌面的Gen目录下。依次输入例如以下命令:

openssl x509 -in developer_identity.cer -inform DER -out developer_identity.pem -outform PEM
openssl pkcs12 -nocerts -in mykey.p12 -out mykey.pem
openssl pkcs12 -export -inkey mykey.pem -in developer_identity.pem -out iphone_dev.p12
期间会要求输入password(导出的证书的password和新生成的证书的password),按要求输入就能够了。例如以下图:

技术分享

执行完成后。会在Gen下生成几个文件。当中iphone_dev.p12就是供服务端使用的证书。

使用新证书对程序签名

当然。我们打包的时候要用新的证书和Profile。

例如以下图:

在Project下,
技术分享
在Target下,
技术分享

接下来。就是打包了。

当然,还须要在服务端实现通知的推送。


參考:

http://blog.csdn.net/kepoon/article/details/22672133

http://stackoverflow.com/questions/7213074/notnoop-java-apns-push

Distributing Enterprise Apps

Distributing Enterprise Apps的PPT

iOS推送证书从申请到使用

标签:界面   bundle   files   cti   pos   sso   依次   选择   上传   

原文地址:http://www.cnblogs.com/tlnshuju/p/7352461.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!