2014-03-27 77 views
1

我並不完全相信我在尋找什麼符合......代理,守護進程或只是一個沒有GUI的小型後臺應用程序。如何爲OSX創建守護程序/啓動代理/後臺應用程序?

我有一個小型的obj-c程序,我寫在終端中運行。它需要不斷地檢查數據庫中的值,並每秒調用大約2次調用。我已經有它的工作,我只是不知道如何建立這個東西釋放...

理想情況下,我想用戶能夠安裝它像一個普通的Mac應用程序,但我不知道如果這個有可能。我正在尋找類似於Dropbox在後臺運行的方式,並通知用戶一個新文件,或LogMeIn如何在後臺運行某些內容,或者我也有一個名爲Aurora的應用程序,該應用程序有一個名爲「Aurora」的後臺進程喚醒助手「。這些都是我想用這個小型obj-c程序模仿的例子。

我該如何在Xcode 5中構建這個版本?

回答

3

要將您的應用程序作爲守護程序或代理運行,您應該創建.plist文件並將其放到/Library/LaunchDaemons/Library/LaunchAgents。 例的.plist:

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> 
<plist version="1.0"> 
<dict> 
    <key>KeepAlive</key> 
    <true/> 
    <key>Label</key> 
    <string>com.example.daemon</string> 
    <key>ProgramArguments</key> 
    <array> 
     <string>/path/to/me/daemon</string> 
     <string>-flag1</string> 
     <string>-flag2</string> 
    </array> 
    <key>RunAtLoad</key> 
    <true/> 
    <key>SessionCreate</key> 
    <true/> 
    <key>UserName</key> 
    <string>mrDaemonUser</string> 
</dict> 
</plist> 

你可以在Daemons and Services Programming Guide找到更多信息。

要在用戶機器上安裝您的應用程序,您應該創建一個安裝程序包並編寫一些腳本以將您的文件放在用戶系統的正確位置。欲瞭解更多信息,請參閱此線程:Making OS X Installer Packages like a Pro

+0

太棒了。那麼' -flag1 -flag2'是什麼? ProgramArguments是程序本身的路徑之一嗎? –

+0

是的,第一部分'/path/to/me/daemon'是那個路徑,你也可以指定一個命令行參數。 – Dmitry

相關問題