iOS 证书与推送证书

之前研究 iOS 开发,这书这块折腾了我很久很久!

老外这篇文章写得很清晰:

http://www.raywenderlich.com/32960/apple-push-notification-services-in-ios-6-tutorial-part-1

之前是有中文版的,后来针对 iOS6 有了更新,所以暂时还没有中文版。

这篇文章写的最详细,按照它说的一步步做下去,就可以实现推送了~

但是期间还是遇到了很多坑,而且总感觉没有完全理解,所以便有了这篇文章,自己帮自己梳理一下,也给大家一些帮助。

流水账式的教程我就不写了,上面那篇文章很详细了~

 

基本流程和各个环节的文件

  1. 生成“证书签名请求文件”:这个文件是后面所有证书的源头,所以一定要保留好!
  2. 生成“个人开发证书”:在开发环境每个人需要一个个人开发证书
  3. 新建 App:App 创建后将无法删除,这个环节没有文件
  4. 生成“描述文件”:这个环节结束后就可以开始调试没有推送的程序了
  5. 生成“推送证书”:每个 App 都会有一个推送证书
  6. 导出“推送证书”到“个人信息交换文件”:这个文件是给服务端用来和推送服务器通讯的
  7. 重新生成“描述文件”:生成推送证书后,第四步的描述文件会失效

 

注意事项

下载根证书

如果你用的是老版本的 iOS 开发中心,会提示你下载根证书;但是新版本却不提示了,很奇怪。

搜索后才知道从哪里下载:http://www.apple.com/certificateauthority/

进去后下载:Worldwide Developer Relations

只有安装了这个证书后,上述的所有证书才可以生效。

 

一定要把证书放在“登陆”分类中

key

 

有一次,我弄证书的时候,这些证书都跑到“系统”分类下了,结果就找不到了,然后我郁闷了大半天…

因为我确信我的操作步骤没有问题啊…

后来挪到“登陆(Login)”分类中就好了。

 

别忘了重新生成描述文件

之前我的 App 没有推送,所以我做了一个个人开发证书和一个描述文件。

后来弄了推送证书后,我以为推送证书只是给服务端推送用的,所以依然在用老的描述文件。

结果 App 中每次尝试获得 token 的时候就抱错…

后来才知道,原来如果你添加了推送功能后,一定要重新生成描述文件!

 

最后

最后想说的是:

在按照教程做的时候,想想为什么;

这个过程真的太复杂了!很难一次成功,别放弃!我前前后后起码搞了几十遍…

本作品由 Dozer 创作,采用 知识共享署名-非商业性使用 4.0 国际许可协议 进行许可。