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

问题描述 投票:3回答:1

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

一些文章(smashingmagazine.comgadgethacks.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选项的情况下请求定期授权,它仍然有效。

push-notification ios12
1个回答
0
投票

同样的问题在这里

看来,临时授权默认关闭app徽章。我在文档中找不到任何相关内容。

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

Notification Settings

© www.soinside.com 2019 - 2024. All rights reserved.