我并不完全确定我正在寻找的资格是......代理,守护程序,还是只运行没有GUI的小型后台应用程序。
我有一个我写的小型obj-c程序在终端中运行。它需要不断检查数据库中的值,并每秒进行大约2次调用。我已经有了它的工作,我只是不确定如何构建这个东西以便发布...
理想情况下,我希望用户能够像普通的Mac应用程序一样安装它,但我不确定这是否可行。我正在寻找类似Dropbox在后台运行的方式,并通知用户新文件,或者LogMeIn如何在后台运行,或者我还有一个名为Aurora的应用程序,后台进程名为“Aurora”唤醒助手“。这些是我试图用这个小的obj-c程序模仿的例子。
我如何在Xcode 5中构建这个版本?
答案 0 :(得分:4)
要将您的应用作为守护程序或代理运行,您应该创建一个.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。