我们正在研究构建一个闹钟式 iOS 应用程序作为网站的扩展。
我们计划通过推送通知将警报发送到设备。我们还希望将本地通知设置为比计划的推送通知晚一点的时间,以防没有网络连接并且推送通知无法到达用户。
但是,我们想取消这个本地通知,并在收到推送通知时重新安排它,这样就不会因为不必要的通知而烦扰用户。
本质上是两种类型的推送通知:
- 设置为发送的实际警报(正常能力)
- 没有闹钟,但在下一个计划的闹钟时间之后将本地通知重置为一点(能力未知)
有这种可能吗?
也许有变通办法,比如能够像只处理推送通知的音频应用程序一样留在后台,我们可以请求 Apple 的特别批准?
获得这样的特殊批准有多普遍?
谢谢
最佳答案
我和 Anthony Corbelli 一样不确定,如果您要为同一警报设置本地通知,推送通知的原因是什么。
在任何情况下,如果您想从推送通知处理程序中取消和/或重新安排现有的 UILocalNotification,您可以使用
获取通知列表[[UIApplication sharedApplication]scheduledLocalNotifications]
然后取消你想要的那个
[[UIApplication sharedApplication]cancelLocalNotification]
然后您可以根据需要修改通知(例如,将其 fireDate 移到 future )并根据需要重新安排。
关于ios - 取消或重新安排本地通知的推送通知?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13080138/