所以我在我的应用程序中设置了推送通知,效果很好。我最近刚刚了解了静默通知,并希望在用户选择退出推送通知的情况下实现它。我已经跟踪了我能找到的所有来源,但我似乎无法获得设备令牌。我不确定我是否遗漏了什么。
在测试中,我会在调用此方法后拒绝推送通知的警报:
- (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中添加了键/值。
我错过了什么吗?在此先感谢您的帮助
答案 0 :(得分:0)
不知道为什么,但我最终还要检查"背景提取"在背景模式下。我还没有在其他任何地方看到这个提到,但我注意到背景刷新并没有显示在我的应用程序的设置下。一旦我检查了它就可以了。