如何相互沟通“帮助应用程序”和GUI应用程序?

时间:2011-03-12 14:47:56

标签: cocoa core-data background

我正在编写一个Mac OS X应用程序,显示某个城市的温度历史记录图表。温度来自网络服务。

我想确保其内部数据库每小时更新一次,即使应用程序没有运行。

有一种方便的方法吗?

我想到了创建“帮助应用程序”的可能性,即由于LSUIElement标志+ NSStatusBar而在后台运行的应用程序。看起来它对我的情况来说是完美的:它会出现在菜单栏的右侧,但不会出现在Dock中。该帮助应用程序将每小时查询一次Web服务,并将温度及其时间戳写入数据库(使用Core Data)。

除了这个“帮助应用程序”之外,还有“报告应用程序”,即具有用户界面的普通应用程序,该用户界面将根据存储在数据库中的数据显示温度历史记录图表(使用核心数据)。 / p>

但问题是,我不知道两个应用程序如何通信:它们必须使用单个共享数据库?使用Core Data可以做到这一点吗?

1 个答案:

答案 0 :(得分:2)

Core Data不支持从多个应用程序同时访问同一商店。

如果您不介意没有菜单栏(您需要多少UI?),我的建议是将所有应用程序设置为LSUIElement。您可以打开一个用户可以聚焦并与之交互的窗口。