用户关闭通知权限时,前台App的userNotificationCenter(_:willPresent:)是否触发?
关于前台推送权限关闭时的代理方法调用及行为说明
当App处于前台且用户关闭/拒绝通知权限时,
userNotificationCenter(_:willPresent:withCompletionHandler:)不会被调用。因为通知权限关闭后,系统会直接拦截所有针对该App的推送通知,不会将通知事件传递给App的代理方法。你在模拟器中通过
.apns文件测试的情况是模拟器的特殊逻辑:这种模拟方式绕过了系统的权限校验流程,所以即使权限关闭,代理方法依然会被触发,但由于系统层面的权限实际是关闭状态,所以无论你在完成处理程序中传入badge、sound还是alert等UNNotificationPresentationOptions参数,都不会显示通知提醒。真实设备上的推送行为和模拟器完全不同:如果用户关闭了App的通知权限,系统会直接丢弃该App的所有推送,不会触发任何通知代理方法,也不会有任何通知相关的行为发生。
内容的提问来源于stack exchange,提问作者Toma Radu-Petrescu
相关产品推荐
相关产品推荐

