设备令牌获得Nil

时间:2015-12-02 04:21:16

标签: ios objective-c parse-platform apple-push-notifications ios9

我有一个奇怪的问题,我的一些用户正在为Apple Push Notification返回空白(或空)设备令牌。它只发生在一些用户身上,不仅适用于所有用户,

这是我的代码,

- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken {

   #if !TARGET_IPHONE_SIMULATOR

       [_globalKRData setPreferences:deviceToken withKey:kPushToken]; // Preferences 

       PFInstallation *currentInstallation = [PFInstallation currentInstallation];
       [currentInstallation setDeviceTokenFromData:deviceToken];
currentInstallation.channels = @[@"global"];
       [currentInstallation saveInBackground];

    #endif

}

设备是否Jail break是否可以获得nil设备令牌?

更新

例如,第一次允许推送通知的用户正常工作,

现在,用户可以设置并禁用设置

的通知

Disable notification

然后在它之后我将不会获得设备令牌这很好但问题是现在用户卸载应用程序,

然后再次下载应用程序,然后在didRegisterForRemoteNotificationsWithDeviceToken未调用之后,我获得了nil设备令牌,当我检查设置时,它将显示通知

1 个答案:

答案 0 :(得分:3)

iOS8 之前我删除了我的应用程序之前我将关闭通知,然后我运行我的应用程序确实注册没有被调用,然后我再次进入设置并发现允许通知 开启,但“ didRegisterForRemoteNotification”未接到来电,

然后我将“允许通知”转为关闭,然后再将其转为开启,然后我来到我的应用程序我找到了设备令牌,但它之后的工作正常,但用户必须手动关闭它,并再次打开它,of course its a bug of apple

它可以在 iOS 9

中正常使用