【友盟+】开发者社区

IOS为什么获取不到设备的 DeviceToken

push更新 发表于 2016-6-2 10:43:06 |

push更新
push更新 发表于 2014-11-4 11:05:37 | 显示全部楼层 |阅读模式
首先,请确保用的是真机测试,而不是模拟器。

然后,请确定您的证书是否导入正确:

http://blog.segmentfault.com/zengfanren/1190000000376953

确认App首次运行有没有弹出打开通知的对话框

如果没有的话,请确定:

首先确认App是第一次安装运行没有弹出(系统只提示一次)
可以把App删除后,再重新build运行一次
如果确实是第一次安装运行且没有弹出,请仔细按照证书配置的要求重新生成一遍Provisioning Profiles。

您还可以先通过  didFailToRegisterForRemoteNotificationsWithError:(NSError *)err
{
   
    NSString *error_str = [NSString stringWithFormat: @"%@", err];
    NSLog(@"Failed to get token, error:%@", error_str);
   
}确定下是什么错误。





如果有的话,请确定获取device  token的方法是正确的。


方法1:在 didRegisterForRemoteNotificationsWithDeviceToken 中添加如下语句

NSLog(@"%@",[[[[deviceToken description] stringByReplacingOccurrencesOfString: @"<" withString: @""]
                  stringByReplacingOccurrencesOfString: @">" withString: @""]
                 stringByReplacingOccurrencesOfString: @" " withString: @""]);
方法2:在 didFinishLaunchingWithOptions:(NSDictionary *)launchOptions中 开启UMessage的Log,然后寻找deviceToken的字段

  //for log
  [UMessage setLogEnabled:YES];
以上任一方式都可在控制台获取一个长度为64的测试设备的DeviceToken串







上一篇:IOS可以自定义App在前台接受到消息的弹出框么
下一篇:消息发送后很长时间才到,或者有时能收到有时收不到


ioswork
ioswork 发表于 2015-7-7 17:23:46 | 显示全部楼层
楼主,我的app第一次打开的时候有弹出提示框,但是为什么我的没有deviceToken呢?我按文档的方法设置了呀,而且我在didfinish的里面设置了log为YES,在didRegisterForRemoteNotificationsWithDeviceToken方法里面也打印了,为什么还是获取不到呢

push更新
push更新 发表于 2015-7-7 18:29:49 | 显示全部楼层
如果还是不行IOS首先用以下代码判断有木有错误:

didFailToRegisterForRemoteNotificationsWithError:(NSError *)err
{
   
    NSString *error_str = [NSString stringWithFormat: @"%@", err];
    NSLog(@"Failed to get token, error:%@", error_str);
   
}
同时:
- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken
{
    [UMessage registerDeviceToken:deviceToken];
   
    NSLog(@"didRegisterForRemoteNotificationsWithDeviceToken success");
   
    NSLog(@"%@",[[[[deviceToken description] stringByReplacingOccurrencesOfString: @"<" withString: @""]
                  stringByReplacingOccurrencesOfString: @">" withString: @""]
                 stringByReplacingOccurrencesOfString: @" " withString: @""]);
   
}

  其中[UMessage registerDeviceToken:deviceToken];不能注释掉。
如果还是不行的话,可以再次对app进行卸载重装。

gaoios
gaoios 发表于 2016-1-11 19:36:15 | 显示全部楼层
嗯 我集成SDK的时候就是因为获取到错误的token 导致推送失败的 谢谢楼主 给出的代码

友盟推送
友盟推送 发表于 2016-6-2 10:43:06 | 显示全部楼层
push更新 发表于 2015-7-7 18:29
如果还是不行IOS首先用以下代码判断有木有错误:

didFailToRegisterForRemoteNotificationsWithError:(NSE ...

我的报错方法没有走 以上的方法都试过啦 而且确认啦测试的开发环境 还是一样的在友盟后台中的消息列表推送报的token无效
您需要登录后才可以发帖 登录 | 立即注册

本版积分规则

发表主题

精彩推荐

CNZZ又出问题了?
又504了,每天出问题、
春风十里,不如一起看数据的你!
今夏虐剧之首“春风十里不如你”终于虐到尽头了! “春风迷”一边被虐一边又享受着追剧的快乐。 那么“春风
关于今日不能详细记录pv的反馈
2017年10月16日早上十一点 我司网站(www.xqnjy.cn)后台突然不能分析时段访问,和pv uv的统计 访问明细能正

关注我们

新浪微博
微信

欢迎关注友盟官方微博微信!

在线客服
返回顶部 返回列表