因此iOS 12引入了静默通知的临时授权,可以在通知中心看到,但不能在锁定屏幕上看到。它具有非常酷的优势 - 您无需用户的批准就可以发送一个。
一些文章(smashingmagazine.com,gadgethacks.com等)声称,如果收到临时授权,iOS应用程序将能够设置它的徽章。
应用程序是临时授权时,是否真的可以设置应用程序徽章?
我使用以下代码请求授权:
[[UNUserNotificationCenter currentNotificationCenter]
requestAuthorizationWithOptions:UNAuthorizationOptionAlert | UNAuthorizationOptionBadge | UNAuthorizationOptionProvisional
completionHandler:^(BOOL granted, NSError *_Nullable error) {
if (granted) {
[[UIApplication sharedApplication] registerForRemoteNotifications];
}
}];
我在didRegisterForRemoteNotificationsWithDeviceToken:
收到可用于发送推送通知的令牌。当我使用有效负载{"aps":{"alert":"Testing..","badge":1}}
发送推送通知时,我在通知中心看到它,但应用程序没有得到标记。
我尝试使用UIApplication.sharedApplication.applicationIconBadgeNumber = 1;
设置徽章,但它不起作用。如果我在不提供UNAuthorizationOptionProvisional选项的情况下请求定期授权,它仍然有效。