push-notification - 在 iOS 12 中使用临时授权设置应用程序徽章
问题描述
因此 iOS 12 引入了对安静通知的临时授权,可以在通知中心看到但在锁定屏幕上看不到。它有一个很酷的优势——你不需要用户的批准来发送一个。
几篇文章(smasingmagazine.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 选项的情况下请求常规授权,它仍然有效。
解决方案
推荐阅读
- google-app-maker - 是否可以设置需要的下拉小部件?
- javascript - 进行动态点击
- c# - 如何将参数传递给 Azure 函数
- angular - Typescript 2.7.2:阅读此错误消息时遇到问题
- sql - 将 2K18 年转换为 2018 年
- javascript - 反应中的星级评分组件
- scala - 将 jar 添加到 spark-submit 以在 Hive 中使用它
- oracle - 无法将修改保存到服务器。返回错误:'未注册提供程序'OraOLEDB.Oracle'
- python-2.7 - 在 Jupyter 笔记本中使用命令行参数
- c - double 类型的声明变量自动初始化为 inf