ios开发有关远程推送的测试版和正式发布版的区别
从接触ios开始,就偶尔听说开发时要用到MVC设计模式。但是,到现在为止,也没有正式接触和使用到真正的MVC,感觉这一年白学了一样,MVC正在研究中,以后有搞明白了会来进行分享的。
关于推送,本地的比较容易,网上的资料也会有很多。
关于远程的推送,就稍微有点麻烦了,有关证书的制作建议阅读英文原版教程http://www.raywenderlich.com/32960/apple-push-notification-services-in-ios-6-tutorial-part-1
这个应该是推送资料里面将的最完善的了,从证书制作到自己模拟后台发送远程推送讲得都很详细。
证书的制作总共分aps_development.cer和导出相应的p12文件这几种制作过程我就不重复了(这几种证书貌似都是给后台做的,前端用不到)。
我们的项目在测试期间一直很顺利,但是我必须要确保上线后能用,因为测试证书和正式发布的证书以及一些其他东西是不一样的。 测试开始,我用的是之前测试证书上的deviceTocken,然后更换了不同的p12文件和苹果服务器地址。但是结果悲剧了,pad收不到推送的信息。
后来搜到相关的问题,大概就是测试证书的deviceTocken和发布证书所获取的deviceTocken不同,想不同了,然后在网上搜了半天(英文水平不行,官方文档上没有找到)最终还是让我找到了解决方案
/* 开发的时候一般我们都是用Xcode直接灌到设备里 这个时候development证书是可以推送成功的 但是production证书却推送不了 不过苹果给我们提供了Ad Hoc测试方式 它使用的是发布证书 如果你 不知道Ad Hoc模式可以搜一下 很简单的 这里有一个关键的地方 development和production得到的 Token的不一样的 使用Ad Hoc方式装到设备上得到的就是production Token 所以你在用Ad Hoc方式 测试的要使用production Token 如果使用Ad Hoc方式测试没问题 这个发布也就没问题了
*/
上面是别人的原话,我抄下来的,通过Ad Hoc方式装上后得到的deviceTocken果然不一样,后台发送的推送也能正常的接受,实在感谢这位大牛,又学了一招,虽然不是自己解决的,但是分享给大家还是能彻底解决这个问题的。
最后,除了百度外,stack overflow也是个好地方,有问题了可以去试着找找,另外,千万不要忽视了苹果官方的文档,英文好的同学可以去苹果官网上的视频教学的地方逛逛https://developer.apple.com/videos。