0

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

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

- (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 中添加了键/值。

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

4

1 回答 1

0

不知道为什么,但我最终还必须在后台模式下检查“后台获取”。我没有在其他任何地方看到过这个,但我注意到背景刷新没有显示在我的应用程序的设置下。一旦我得到检查,它就可以正常工作。

于 2018-02-15T18:57:43.657 回答