iOS

iOS推送功能解决方案

做了一个使用推送功能的应用,遇到了一些问题整的很郁闷,搞了两天总算是弄明白了,特此分享给大家。

本帖主要是针对产品发布版本的一些问题,综合了网上一些资料根据自己实践写的,不过测试也可以看看

首先要感谢那些富有分享精神的大牛们所作的贡献,让我这个新手可以从零把推送功能整上线。

至于推送功能的原理什么的我就不说了,网上关于推送的资料很多,不过有很多一部分都写的不知所以然,不过原理还是可以弄明白的。

这里附上一篇英文帖子 http://www.raywenderlich.com/3443/apple-push-notification-services-tutorial-part-12

中文翻译 http://article.ityran.com/archives/194

我第一次就是看的英文原帖,中文翻译的也很好,不过感觉作者没有亲自试过,我可是实现了哦。

这里我说我认为比较关键的地方

1.生成钥匙串请求问题。

在你做一个新的带推送的功能的应用的时候最好重新生成一次钥匙串请求,省的乱。

在你生成钥匙串请求的时候,那个CRS文件一定要留着,还有更重要的是你在生成这个钥匙串请求的时候,在钥匙串里边会出来一对密钥,这个一定要注意那一对是刚刚出现的。

帖子里边说的导出那个.p12文件就是指刚才那对密钥的私钥的导出文件

(这个不知道怎么把图贴出来 大家可以参考那两个帖子里边的图)

2.必须是唯一的标示符App ID

不能用通配符,这个没商量。不过同一个应用测试和发布可以用同一个标示符。

3.APNS地址

测试地址gateway.sandbox.push.apple.com:2195

发布地址 gateway.push.apple.com:2195

这两个是有区别的,当然证书也是。

4.顺序

我就是被这个顺序搞的郁闷了。

生成钥匙串请求