设置ios后台更新通知(无提示通知)没有获得接收设备令牌的回调

时间:2018-02-14 22:17:08

标签: ios apple-push-notifications silent-notification

所以我在我的应用程序中设置了推送通知,效果很好。我最近刚刚了解了静默通知,并希望在用户选择退出推送通知的情况下实现它。我已经跟踪了我能找到的所有来源,但我似乎无法获得设备令牌。我不确定我是否遗漏了什么。

在测试中,我会在调用此方法后拒绝推送通知的警报:

- (void)registerForRemoteNotifications {
UNUserNotificationCenter *center = [UNUserNotificationCenter currentNotificationCenter];
center.delegate = self;
[center requestAuthorizationWithOptions:(UNAuthorizationOptionSound | UNAuthorizationOptionAlert | UNAuthorizationOptionBadge) completionHandler:^(BOOL granted, NSError * _Nullable error){
    if(!error){
            dispatch_async(dispatch_get_main_queue(), ^{
                [[UIApplication sharedApplication] registerForRemoteNotifications];
            });
    }
}];

}

与用户接受推送通知时不同:

didRegisterForRemoteNotificationsWithDeviceToken

永远不会被调用 - 所以我没有收到当前的设备令牌,而且我无法更新我的服务器。

我添加了背景模式 - >远程通知,并在我的plist中添加了键/值。

我错过了什么吗?在此先感谢您的帮助

1 个答案:

答案 0 :(得分:0)

不知道为什么,但我最终还要检查"背景提取"在背景模式下。我还没有在其他任何地方看到这个提到,但我注意到背景刷新并没有显示在我的应用程序的设置下。一旦我检查了它就可以了。