Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/106.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 设备令牌获取零_Ios_Objective C_Parse Platform_Apple Push Notifications_Ios9 - Fatal编程技术网

Ios 设备令牌获取零

Ios 设备令牌获取零,ios,objective-c,parse-platform,apple-push-notifications,ios9,Ios,Objective C,Parse Platform,Apple Push Notifications,Ios9,我有一个奇怪的问题,我的一些用户返回空白(或空)设备令牌,用于苹果推送通知。它只发生在部分用户上,而不是所有用户上 这是我的密码 如果设备是越狱,这就是为什么我得到零设备令牌的原因吗 更新 例如,第一次用户允许推送通知,并且它工作正常 现在,用户转到设置并禁用设置的通知 然后在它之后,我将不会得到设备令牌,这很好,但问题是现在用户卸载应用程序 然后在再次下载应用程序之后,然后在didRegisterForRemotionTificationswithDeviceToken未调用之后,我获得了零

我有一个奇怪的问题,我的一些用户返回空白(或空)设备令牌,用于
苹果推送通知
。它只发生在部分用户上,而不是所有用户上

这是我的密码

如果设备是越狱,这就是为什么我得到零设备令牌的原因吗

更新

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

现在,用户转到设置并禁用设置的通知

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


然后在再次下载应用程序之后,然后在
didRegisterForRemotionTificationswithDeviceToken
未调用之后,我获得了零设备令牌,当我检查设置时,它将在iOS8中显示打开通知,在此之前我已删除我的应用程序,我关闭了通知,然后我运行我的应用程序did register not CALLES,然后我再次转到设置,发现允许通知打开的,但“DIDGREGISTER错误通知”没有接到呼叫

然后我将“允许通知”“关闭”
,然后再次打开它,然后我来到我的应用程序我发现了设备令牌,但之后它工作正常,但用户必须手动关闭它,然后再次打开它,
当然这是苹果的一个bug


它在iOS 9中可以正常工作。

不,他们可能根本没有授予权限。@HarikrishnanT所以这意味着如果设备是越狱的,那么设备令牌没有正确生成?如果您需要设备令牌,用户必须提供接收推送通知的权限。如果他们拒绝许可,则不会接收设备令牌。当您尝试从DefaultPreferences访问它时,它将返回null@HarikrishnanT是的,我知道这件事,但用户可能已经设置了通知,但没有获得设备令牌您在配置推送通知中有临时证书吗?
- (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

}