2

我们正在研究构建一个警报风格的 iOS 应用程序作为网站的扩展。

我们计划通过推送通知将警报发送到设备。我们还希望将本地通知设置为比计划的推送通知稍晚一点的时间,以防万一没有网络连接并且推送通知无法到达用户。

但是,我们想取消这个本地通知,并在收到推送通知时重新安排它,这样它就不会因为不必要的通知而惹恼用户。

基本上有两种类型的推送通知:

  • 设置为发送的实际警报(正常能力)
  • 没有警报,但将本地通知重置为在下一个计划的警报时间之后一点点(未知能力)

这是一种可能吗?

也许有一些变通方法,比如能够像只处理推送通知的音频应用程序一样留在后台,我们可以要求苹果公司特别批准?

获得这样的特殊批准有多普遍?

谢谢

4

1 回答 1

1

我不确定,像 Anthony Corbelli 一样,推送通知的原因是如果您要为相同的警报设置本地通知。

在任何情况下,如果您想从推送通知处理程序中取消和/或重新安排现有的 UILocalNotification,您可以获取通知列表

[[UIApplication sharedApplication]scheduledLocalNotifications]

然后取消你想要的

[[UIApplication sharedApplication]cancelLocalNotification]

然后,您可以根据需要修改通知(例如,将其 fireDate 移到未来)并根据需要重新安排它。

于 2012-11-06T01:15:55.647 回答