概述
下午的时候,我们的测试环境一直接收不到APNS的消息(早上的时候收到了两条)。经过处理最后解决了问题,记录下,其他码龙朋友看到的话,也可以参考参考下。
具体有如下几条来排除问题的方案:
1.首先确保打开当前APP的消息推送允许设置。(Iphone设置里面打开,允许APP接收推送消息)
2. 打印下deviceToken看看是否有值,或者直接在下面注册成功的函数里面打个断点,看程序进不进来,单步调试下。
(一般来说,只要deviceToken有值,就说明APNS已经注册成功了。否则的话,要去研究并且添加下APNS注册函数。
同时应该注意,有deviceToken返回,也不一定实时收到APNS的推送消息(因为我们牛逼的greatewall,或者网络丢包)。多推几条信息,就可以收到,一般来说APNS到达率还是可以的。)
我的程序没有deviceToken打印出来,在下面这个函数里面打断点也没有进来。
3.确保当前登陆的手机号唯一登陆APP,一个手机号多个APP登陆的话,有可能也会收不到。
4.重新推出APP,重新登录下。(意味着重新注册下APNS)
5.实在还是没有deviceToken的话,把当前的APP删除,重新装一下。---我是用这种办法,有了deviceToken,然后有了APNS的推送
注册成功后,Apple会返回一个全球唯一的deviceToken给手机客户端,然后通过下面的函数,就可以捕获。
- (void)application:(UIApplication *)application
didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken
{
//发送token给服务端
if (deviceToken)
{
currentDeviceToken = [[[[deviceToken description]stringByReplacingOccurrencesOfString:@"<" withString:@""]stringByReplacingOccurrencesOfString:@">" withString:@""]stringByReplacingOccurrencesOfString:@" " withString:@""];
// UIAlertView *alterView = [[UIAlertView alloc] initWithTitle:@"" message:currentDeviceToken delegate:nil cancelButtonTitle:nil otherButtonTitles:@"确定", nil];
// [alterView show];
NSLog(@"deviceToken:________%@",currentDeviceToken);
}
}
- (void)application:(UIApplication *)application didFailToRegisterForRemoteNotificationsWithError:(NSError *)error
{
NSLog(@"注册推送失败:%@",error);
}
最后
以上就是威武故事为你收集整理的ios APNS 消息一直接收不到解决办法的全部内容,希望文章能够帮你解决ios APNS 消息一直接收不到解决办法所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复