设备令牌获取 Nil

Device token getting Nil

我有一个奇怪的问题,我的一些用户为 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 是否有可能这就是为什么我得到零设备令牌?

更新

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

现在用户转到设置并从设置中禁用通知

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

然后在再次下载应用程序之后 didRegisterForRemoteNotificationsWithDeviceToken 没有调用所以我得到了 nil 设备令牌,当我检查设置时它会在

上显示通知

iOS8之前我已经删除了我的应用程序,然后我关闭通知,然后我运行 我的应用程序没有调用注册,然后我再次进入设置,发现 允许通知ON,但是“didRegisterForRemoteNotification 没有接到电话,

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

它将在 iOS 9

中正常工作