UNNotification 本地通知和请勿打扰

Posted

技术标签:

【中文标题】UNNotification 本地通知和请勿打扰【英文标题】:UNNotification Local Notification and Do Not Disturb 【发布时间】:2019-03-07 09:30:42 【问题描述】:

即使我在手机上启用了“请勿打扰”,Sleep Cycle 应用程序也会设法发送本地通知并播放声音。

你是怎么做到的?

【问题讨论】:

【参考方案1】:

好吧,可以通过在配置本地通知时在 UNNotificationSetting 中启用“严重警报”属性来做到这一点。

苹果文档 - https://developer.apple.com/documentation/usernotifications/unnotificationsettings/2963116-criticalalertsetting

当 UNNotificationSetting.enabled 时,此属性授权应用 播放忽略请勿打扰和设备的关键声音 静音开关。

对于本地通知,系统会尝试播放关键声音 当 UNNotificationContent 对象的 sound 属性包含 defaultCritical 属性返回的对象, criticalSoundNamed(_:) 方法或相关方法。

对于远程通知,系统会尝试播放关键声音 当通知的有效负载包含一个声音目录时 包含关键密钥。

严重警报需要 Apple 颁发的特殊权利。

【讨论】:

以上是关于UNNotification 本地通知和请勿打扰的主要内容,如果未能解决你的问题,请参考以下文章

当应用程序在后台 iOS 11 中时,UNNotification 本地通知用户点击不会触发委托

是否可以在一定时间后使 UNNotification 过期或消失?

切换到 UNNotification 时,不再显示通知

为啥小米设备未激活请勿打扰?

Android:检测请勿打扰状态?

使用非公历日历创建UNNotification