2016-09-01 42 views
0

我的任務是實現一個在後臺運行的應用程序,該應用程序運行一些定期任務,如檢索當前的GPS座標。同時需要有一個狀態欄圖標和菜單,以使用戶能夠顯式地執行相同的操作以及一些配置窗口。 我的問題是,如果我可以使用代理或應該實現此功能作爲一個可可應用程序沒有主窗口?在OS X上實現後臺應用程序的最佳方式

回答

1

您可以使用代理來執行後臺處理和定期更新。然後在狀態欄中運行一個小應用程序,該應用程序提供用於執行操作或顯示設置的菜單選項。這可以使用各種IPC機制之一與代理進行通信。

另一種選擇是跳過狀態欄,只需要一個設置面板,它可以提供配置並具有一些按鈕來啓動某些操作。取決於產品的可見性,這可能是另一個不錯的選擇。

記住的屏幕房地產在用戶的狀態欄是寶貴的,而且理論上應隱藏圖標,如果用戶不想要的方式。有關基本系統的一個示例,請查看如何提供藍牙支持。配置全部通過設置完成,並且可選的狀態欄圖標提供快速訪問。

+0

感謝,在這種特殊情況下客戶端希望當用戶登錄該應用程序是在任何時間狀態欄是可見的。 –

+0

爲了讓事情更加清楚。什麼阻止我實現這個應用程序作爲一個Cocoa應用程序與LSBackgroundOnly設置爲YES並啓動它與launchd? –

+0

即使沒有用戶登錄,或者不管用戶登錄,後臺處理是否需要運行?在這種情況下,你肯定會需要一個守護進程。如果它更像是一個點播的東西,那麼我想你可以等價地擁有一個Cocoa應用程序。依賴於前端,以哪種方式你靠在我猜的複雜性,如果你想後端是獨立的。 – gavinb

相關問題