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。

时间: 2024-08-22 14:46:52

ios开发有关远程推送的测试版和正式发布版的区别的相关文章

iOS开发之远程推送Push

远程推送通知 什么是远程推送通知 顾名思义,就是从远程服务器推送给客户端的通知(需要联网)远程推送服务,又称为APNs(Apple Push Notification Services) 为什么需要远程推送通知 传统获取数据的局限性 只要用户关闭了app,就无法跟app的服务器沟通,无法从服务器上获得最新的数据内容 远程推送通知可以解决以上问题 不管用户打开还是关闭app,只要联网了,都能接收到服务器推送的远程通知 远程推送通知使用须知 所有的苹果设备,在联网状态下,都会与苹果的服务器建立长连接

iOS开发之远程推送

远程推送应用配置过程 1.创建支持远程推送功能的App 2.申请开发者证书,并选中刚刚创建的App ID 3.下载CER文件,并导入钥匙串管理 4.申请发布证书,并选中刚刚创建的App ID 5.下载CER文件,并导入钥匙串管理 6.检查App ID,确认证书已经指定 远程推送应用程序开发过程 1.新建应用程序 2.指定AppID,在developer.apple.com上设置AppID

iOS开发利用系统推送Notifaction和轮询实现简单聊天系统

话不多说,先看一下做好的聊天软件界面: 首先在StoryBoard里拖了一个UItableView和一个view用来输入文字或者语音,右边的按钮用来切换文字和语音: 聊天里有三种id: orderID :聊天id messageID :每条消息的ID sessionID :每个订单的会话ID,如果为空通过orderID请求. 然后在viewDidLoad里做一些界面上的操作和一些初始化的操作: 1.设置一下tableview的headView 2.初始化录音.用户头像.获取订单详情 <stron

IOS本地,APNS远程推送(具体过程)

添加本地推送 ///本地添加 -(void)addLocalPushNotification:(UIButton*)sender; { NSLog(@"%s",__FUNCTION__); UILocalNotification* localNotification=[[UILocalNotification alloc]init]; if (localNotification) { //设置时间当前加20秒 NSDate* pushDate=[NSDate dateWithTimeI

玩转ios友盟远程推送,16年5月图文防坑版

最近有个程序员妹子在做远程推送的时候遇到了困难,求助本帅.尽管本帅也是多彩的绘图工具,从没做过远程推送,但是本着互相帮助,共同进步的原则,本帅还是掩饰了自己的彩笔身份,耗时三天(休息时间)帮她完成了推送功能.PS:三天只打了一局dota,你们就知道这有多难,多耗时了.(其实并没有,真正做过一次就知道这其实很简单了,现在有程序媛再找本帅做推送,简直就是分分钟的事). 对不起请允许我这一次! 鉴于这次做推送的时间绝大多数都浪费在了"寻找教程->教程有误(更新不及时)->寻找教程"

ios如何实现远程推送消息

远程推送可以解决 当用户关闭程序的时候 不能收到推送消息.当客户端使用了远程推送的功能,不管用户有没有关闭程序,都能收到 服务器推送的消息. 苹果实现远程推送 是基于长连接的, 默认情况下 苹果的所有设备都是和 苹果的apns服务器建立长连接的, 只要设备已经联网. 长连接的好处: 苹果服务器可以主动向 客户端发送消息, 也可以找回我的设备(当设备丢失时). 远程推送的步骤: 客户端向苹果服务器获取deviceToken步骤:客户端将 BundleId 和 设备UDID 发送给苹果Apns服务器

iOS开发之本地推送、接收到推送的方法

我们有时候有需要本地通知的功能 本地推送通知也需要申请推送通知权限,具体步骤可看我的上一篇博客(关于推送权限申请) 1.添加本地推送的方法,需要判断iOS10.0和iOS8.0不同的方法 #import <UserNotifications/UserNotifications.h> /** 添加本地推送通知*/ + (void)addLocalNotificationWithTitle:(NSString *)title subTitle:(NSString *)subTitle body:(

iOS开发资源:推送通知相关开源项目--PushSharp、APNS-PHP以及Pyapns等

PushSharp  (github) PushSharp是一个实现了由服务器端向移动客户端推送消息的开源C#库,支持 iOS (iPhone/iPad APNS). Android (C2DM/GCM - Google Cloud Message).Windows Phone.Windows 8.Blackberry (BIS and BES via PAP)以及Amazon (ADM)设备,未来还将支持Firefox OS. PushSharp的API可以流畅地位不同平台创建消息,自适应消

iOS开发证书及推送证书的生成教程

以下是我自己摸索出来的证书生成过程,如有错误欢迎指正~ 一.生成开发证书 这里的证书包括开发(development)证书和生产(production)证书. 1.打开钥匙串访问-->证书助理-->从证书颁发机构请求证书,输入邮箱和常用名,常用名将作为你的密钥名,选择保存到磁盘,名字默认就可以,存到桌面. 2.登录苹果的开发者中心,登录自己的开发者账号进入,选择证书. 单击这里的Development,(注意,这里最多同时存在2个证书)点击右上角的加号,选择iOS App Developmen