在我的设置标签栏中:
我认为更好的解决方案是发送静默推送通知,我可以使用它来进行API调用,以便在需要时更新设置UI。
但如果用户已禁用推送通知,我仍会收到静音推送吗?处理此类情况的推荐方法是什么?
答案 0 :(得分:52)
简短回答,是
iOS 8应用程序开发人员激动人心的新机会是,即使用户选择退出通知,Apple也会提供“无声”推送。此外,“静音推送”不再仅适用于报亭应用。每个应用都可以利用此功能在后台刷新内容,在用户打开应用的那一刻创建最新的响应式体验。
...虽然
用户仍然可以通过“后台应用刷新”控件关闭应用处理“静音推送”的功能。即使Apple推送通知服务(APN)将向您的手机提供标记为“内容可用”的推送,操作系统也不会唤醒您的应用程序以接收它,从而有效地将其丢弃在地板上。但是,选择退出“后台应用程序刷新”是一种鲜为人知的功能,与通知无直接关联。您不在通知设置中访问此偏好设置 - 它位于常规>下方。后台应用刷新屏幕。
构建应用程序时请记住这一点。
来源: https://www.urbanairship.com/blog/watch-list-ios-8-opt-in-changes
答案 1 :(得分:20)
这个矩阵可能会有所帮助。在左侧,它显示" didReceiveRemoteNotification:"方法将被调用或不被调用。其他两列与设置应用程序有关。设置 - > YourApp。如果您的App支持通知和后台应用刷新。查看矩阵以检查应用程序何时接收静音推送。
答案 2 :(得分:0)
其他答案都很好。但它们不是官方答案。
官方答案位于What's New in Notifications WWDC 2015视频:
默认情况下启用静默通知。用户不需要 批准您 - 不授予您的应用使用权限,以及 您可以在不要求用户许可的情况下开始使用它们。 但是,无声通知是后台应用背后的机制 刷新。在任何时候你都知道用户可以进入设置和 禁用它们。所以你不能依赖它们永远可用。您 不知道用户是否关闭它们,而你却没有得到它 通知了。这也意味着无声通知 尽最大努力。这意味着通知时 到达用户的设备,系统将要做一些 选择。
有关详情,请参阅this image和this answer