【发布时间】:2013-11-08 14:00:17
【问题描述】:
我希望在我的应用中实现通知。该应用通过 iCloud 共享数据,通知保存在 iCloud 共享数据中。 (这是一个鞋盒应用。)
很遗憾,我没有资源来支持推送通知。
根据本文档:
在 OS X 中,用于非运行应用程序的唯一推送通知类型是图标标记。
还是这样吗?如果是这样,那没关系 - 我的运行 Mac 应用程序已经能够 (1) 检测 iCloud 更改,(2) 确定是否是新的本地通知需要调度或现有通知需要更新,以及 (3) 调度它们。所以无论如何添加推送支持都不是我想要的。
但是 - 我想知道如何从 iOS 方面解决这个问题。如果我在我的 Mac 上安排通知,并将其保存到 iCloud,我的应用程序在 iOS 上如何在后台接收通知?
如果 iOS 应用程序在前台,我可以确认一切正常。收到 iCloud 通知,加载数据,重新安排通知。
但是如果我的应用程序在后台,或者根本没有运行,那么最好的处理方法是什么?我知道后一种情况是我最有可能零控制的情况。但如果应用程序在后台,我是否:
需要生成后台任务来定期检查数据更改吗?或者,
是否有我可以订阅的通知仅在 iCloud 数据发生更改时通知我?
我找到了 UIBackgroundModes 的 fetch 值,但我不确定这是否正是我想要的 - 我没有进行获取,我只是想在后台回复iCloud 发生变化。
【问题讨论】:
-
什么是鞋盒应用?
-
我认为他的意思是“沙盒”。
-
不,我的意思是鞋盒——它只是一个不基于文档的应用程序,而是数据存储在内部。 (在我的例子中,单个数据库文件。)想想 iPhoto 库或日历。你打开应用程序,你的东西就在那里。这里也提到了:developer.apple.com/library/mac/documentation/General/…
标签: ios iphone objective-c cocoa uilocalnotification