Push notification 在iOS 12中使用临时授权设置应用程序徽章

Push notification 在iOS 12中使用临时授权设置应用程序徽章,push-notification,ios12,Push Notification,Ios12,因此,iOS 12引入了静默通知的临时授权,可以在通知中心看到,但不能在锁屏上看到。它有一个非常酷的优势——你不需要用户的批准就可以发送一个 有几篇文章(等)声称,如果收到临时授权,iOS应用程序将能够设置其徽章 当应用程序被临时授权时,是否真的可以设置应用程序徽章 我使用以下代码请求授权: [[UNUserNotificationCenter currentNotificationCenter] requestAuthorizationWithOptions:UNAuthorizat

因此,iOS 12引入了静默通知的临时授权,可以在通知中心看到,但不能在锁屏上看到。它有一个非常酷的优势——你不需要用户的批准就可以发送一个

有几篇文章(等)声称,如果收到临时授权,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.applicationBadgeNumber=1设置徽章但效果不太好。但是,如果我请求定期授权而不提供未授权选项临时选项,则该功能仍然有效。

这里也有同样的问题

看起来,应用程序徽章在默认情况下是关闭的,用于临时授权。我在文档中找不到关于它的任何信息

但您可以在应用程序通知设置中看到它。默认情况下,“徽章”开关处于关闭状态: