我希望在我的应用程序中实现通知。该应用程序通过 iCloud 共享数据,并且通知保存在iCloud 共享数据中。(这是一个鞋盒应用程序。)
不幸的是,我没有资源来支持推送通知。
根据这份文件:
在 OS X 中,用于非运行应用程序的唯一推送通知类型是图标标记。
现在还是这样吗?如果是这样,那没关系 - 我正在运行的Mac 应用程序已经能够 (1) 检测 iCloud 更改,(2) 确定是否需要安排新的本地通知或现有通知需要更新,以及 (3) 安排它们。因此,无论如何添加推送支持都不是我想要的。
但是 - 我想知道如何从 iOS 方面解决这个问题。如果我在我的 Mac 上安排了通知,并将其保存到 iCloud,我在 iOS 上的应用程序如何在后台收到通知?
如果 iOS 应用程序在前台,我可以确认一切正常。收到 iCloud 通知,加载数据,重新安排通知。
但是,如果我的应用程序在后台,或者根本没有运行,那么处理这个问题的最佳方法是什么?我知道后一种情况是我最有可能零控制的情况。但如果应用程序在后台,我是否:
需要生成后台任务来定期检查数据更改吗?或者,
是否有我可以订阅的通知,只有在 iCloud 数据发生更改时才会通知我?
我找到了 的fetch
值UIBackgroundModes
,但我不确定这是否是我想要的——我没有进行获取,我只是想在后台响应 iCloud 更改。