我希望在我的应用中实施通知。该应用程序通过iCloud共享数据,通知将保存在 iCloud共享数据中。 (这是一个鞋盒应用程序。)
不幸的是,我没有资源来支持推送通知。
根据这份文件:
OS X中针对非运行应用程序的唯一推送通知类型是图标标记。
这仍然是这样吗?如果是这样,那没关系 - 我的正在运行 Mac应用程序已经能够(1)检测到iCloud更改,(2)确定是否为新本地通知需要调度或现有通知需要更新,以及(3)调度它们。所以添加推送支持并不是我想要的。
但是 - 我想知道如何从iOS方面解决这个问题。如果我在Mac上安排通知,并将其保存到iCloud,我的应用程序在iOS上如何在后台收到通知?
如果iOS应用程序位于前台,我可以确认一切正常。收到iCloud通知,加载数据,重新安排通知。
但是如果我的应用程序在后台,或根本没有运行,那么处理此问题的最佳方法是什么?我理解后一种情况是我很可能无法控制的情况。但如果应用程序在后台,请执行:
是否需要生成后台任务以定期检查数据更改?或者,
是否有可以订阅的通知,只有在iCloud数据发生变化时才会通知我?
我找到了fetch
的{{1}}值,但我不确定这是我想要的 - 我不是在抓取,我只想回复,背景,对iCloud进行了更改。
答案 0 :(得分:4)
您的选择有限。我认为如果你无法负担远程通知,后台提取实际上是一个很好的选择。通过后台获取,您的应用程序将以相对恒定的时间间隔唤醒,并且能够检查是否有新的通知要显示给用户(或已删除的通知等)。然后,您将能够更新本地通知以匹配。
答案 1 :(得分:1)