2016-09-01 16 views
0

我的任务是实现一个在后台运行的应用程序,该应用程序运行一些定期任务,如检索当前的GPS坐标。同时需要有一个状态栏图标和菜单,以使用户能够显式地执行相同的操作以及一些配置窗口。 我的问题是,如果我可以使用代理或应该实现此功能作为一个可可应用程序没有主窗口?在OS X上实现后台应用程序的最佳方式

回答

1

您可以使用代理来执行后台处理和定期更新。然后在状态栏中运行一个小应用程序,该应用程序提供用于执行操作或显示设置的菜单选项。这可以使用各种IPC机制之一与代理进行通信。

另一种选择是跳过状态栏,只需要一个设置面板,它可以提供配置并具有一些按钮来启动某些操作。取决于产品的可见性,这可能是另一个不错的选择。

记住的屏幕房地产在用户的状态栏是宝贵的,而且理论上应隐藏图标,如果用户不想要的方式。有关基本系统的一个示例,请查看如何提供蓝牙支持。配置全部通过设置完成,并且可选的状态栏图标提供快速访问。

+0

感谢,在这种特殊情况下客户端希望当用户登录该应用程序是在任何时间状态栏是可见的。 –

+0

为了让事情更加清楚。什么阻止我实现这个应用程序作为一个Cocoa应用程序与LSBackgroundOnly设置为YES并启动它与launchd? –

+0

即使没有用户登录,或者不管用户登录,后台处理是否需要运行?在这种情况下,你肯定会需要一个守护进程。如果它更像是一个点播的东西,那么我想你可以等价地拥有一个Cocoa应用程序。依赖于前端,以哪种方式你靠在我猜的复杂性,如果你想后端是独立的。 – gavinb

相关问题