我正在编写一个Mac OS X应用程序,显示某个城市的温度历史记录图表。温度来自网络服务。
我想确保其内部数据库每小时更新一次,即使应用程序没有运行。
有一种方便的方法吗?
我想到了创建“帮助应用程序”的可能性,即由于LSUIElement标志+ NSStatusBar而在后台运行的应用程序。看起来它对我的情况来说是完美的:它会出现在菜单栏的右侧,但不会出现在Dock中。该帮助应用程序将每小时查询一次Web服务,并将温度及其时间戳写入数据库(使用Core Data)。
除了这个“帮助应用程序”之外,还有“报告应用程序”,即具有用户界面的普通应用程序,该用户界面将根据存储在数据库中的数据显示温度历史记录图表(使用核心数据)。 / p>
但问题是,我不知道两个应用程序如何通信:它们必须使用单个共享数据库?使用Core Data可以做到这一点吗?
答案 0 :(得分:2)
Core Data不支持从多个应用程序同时访问同一商店。
如果您不介意没有菜单栏(您需要多少UI?),我的建议是将所有应用程序设置为LSUIElement
。您可以打开一个用户可以聚焦并与之交互的窗口。