macOS系统下能否为UNNotification设置默认alert提醒样式?
macOS UNNotification 设定默认Alert样式解决方案
问题原因
默认样式始终为banner的核心原因是:旧的NSUserNotificationAlertStyle配置仅对已废弃的NSUserNotification API生效,苹果在新的UNUserNotification框架中更换了对应的Info.plist配置键。
解决步骤
- 打开项目的Info.plist文件,添加新的配置项:键为
UNNotificationAlertStyle,类型选字符串,值填alert - 如果你此前已经在测试设备上授权过应用的通知权限,需要完全卸载应用清除系统留存的权限缓存,重新安装后首次申请通知权限时,系统就会读取该配置将默认提醒样式设为Alerts
- 你现有的Swift代码逻辑无需修改,权限申请的相关代码已经符合要求
关于样式控制权的说明
苹果的通知设计规则中,通知提醒样式属于用户可自主管控的系统级权限,应用仅可配置首次授权时的默认值,不允许后续动态修改该设置,最终的样式控制权完全交给用户,用户随时可以在「系统偏好设置>通知」中自行调整对应应用的提醒样式。

内容的提问来源于stack exchange,提问作者Pavel Lobodinský
相关产品推荐
相关产品推荐

