所以我在我的应用程序中设置了推送通知,效果很好。我最近刚刚了解了静默通知,并希望在用户选择退出推送通知的情况下实现它。我已经关注了我能找到的所有来源,但我似乎无法获得设备令牌。我不确定我是否遗漏了什么。
在测试中,调用此方法后,我将拒绝推送通知的警报:
- (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 中添加了键/值。
我错过了什么吗?在此先感谢您的帮助