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

首先,请确保用的是真机测试,而不是模拟器。

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

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串

你可能感兴趣的:(友盟推送)