1

我们正在开发一个类似于原生日历应用程序的 iOS 应用程序。应用程序从本地日历数据库同步数据。它还会在开始时间(如 10 分钟前)之前触发每个日历条目/会议的本地通知。

有人可以帮助我们解决我们面临的以下问题。

1)如何确保我的应用程序在本机日历数据库发生任何更改时立即更新。每当有任何新会议或重新安排现有会议时,我都希望调用一段自定义代码。我知道这可以通过订阅 App Foreground 通知来实现,但是即使应用程序处于后台,无论如何也可以执行代码。

2) 每次会议前 10 分钟触发本地通知的最佳方法是什么?我是否应该运行后台服务并定期检查接下来 10 分钟是否有会议?或者我应该一次安排所有本地通知。但是在这种情况下,我不确定如何处理在应用程序处于后台或出现任何新会议时可以重新安排会议的情况。

4

2 回答 2

2
  1. 您不能,因为您的应用程序不属于在后台运行的类别。
  2. 您不能在 iOS 上运行后台服务,您必须在应用运行时安排本地通知。但请注意,最多有 64 个预定的本地通知。您永远不会知道通知何时显示,因为这是由 iOS 而不是您的应用程序处理的。

最好的选择是使用推送通知,这些将是服务器端的,因此没有 64 计划的限制。使用推送通知选项,当事件发生变化时,只有服务器必须知道它。因为它是发送通知的人。

另一个选项可以是EventKit在用户日历中使用和安排事件。

于 2013-05-27T07:24:41.797 回答
0

你不会喜欢这个答案的。在非越狱环境下,答案如下:

1)你不能

2)唯一的选择是一次安排所有会议,但这会让你对你提到的问题持开放态度。

于 2013-05-27T07:24:01.297 回答