7

我正在研究如何在活动即将开始时向我们的应用程序添加通知。其他只是日历的应用程序提供了此功能,但我的研究让我对它们如何实现这一点感到困惑。

根据 Apple 文档: 对于需要更多执行时间来实现的任务,您必须请求特定权限才能在后台运行它们而不会被暂停。在 iOS 中,只允许特定类型的应用程序在后台运行:

  • 在后台向用户播放有声内容的应用程序,例如音乐播放器应用程序
  • 让用户随时了解其位置的应用程序,例如导航应用程序
  • 支持互联网协议语音 (VoIP) 的应用程序
  • 需要下载和处理新内容的报亭应用
  • 从外部配件接收定期更新的应用程序

好的,日历应用程序不是这些。如果我为我的应用程序安排本地通知以定期唤醒并检查日历,那是不够的,因为我已经完成了阅读。使用位置监控选项是不够的 - 如果我的用户整天坐在他/她的办公室里怎么办?

显然,可以从手机旁边的其他来源添加/删除日历事件,因此在我的应用程序启动时设置一堆通知并不是一个解决方案。

日历应用程序如何完成活动前通知?我有几个来自 App Store 的日历应用程序,他们这样做了,所以我知道可以做到。我的应用程序也需要被 App Store 接受,所以我不能假装 VoIP 作为解决方案。

附加信息:经过更多研究,我看到的应用程序在关闭时不会更新(duh),但它们会进行一些后台更新。我仍然不清楚如何让我的后台进程长时间运行(例如一夜之间)。

4

1 回答 1

6

检查这个答案。您可以订阅 EKEventStoreChangedNotification 以获取有关日历任何更改的通知。https://stackoverflow.com/a/12324363/1187485

于 2014-03-20T06:37:44.570 回答