iphone - 在后台接收 iOS 通知::本地通知

标签 iphone ios xcode calendar uilocalnotification

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

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

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

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

最佳答案

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

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

另一种选择是使用 EventKit并在用户日历中安排事件。

关于iphone - 在后台接收 iOS 通知::本地通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16768171/

相关文章:

ios - 在 iOS 7 for iPhone SDK 中检查网络可用性

iOS。当其他代码已经使用 NSSetUncaughtExceptionHandler 时,我如何捕获异常?

xcode - applescript 中的 "Do Shell Script"命令在脚本编辑器中有效,但在我的 cocoa applescript 应用程序中无效

iphone - "Hide"推送 View 时的Tab栏

iphone - 是否可以告诉iphone 4在网页中使用@2x图形

iphone - FlowCoverView 如何以编程方式强制 View 移动到给定图像?

ios - Swift/NSMutableDisctionary init/如何使值可选

c# - 从 MVC Web 项目发送 Apple 推送通知

ios - 带有 qos_class_user_interactive 的 global_queue

ios - 无法根据其内容设置 UITextView 高度