2011-08-22 57 views
3

我对Mac编程相对较新,我需要一个简单的守护进程在后台运行。基本上,它必须在计算机启动时或启动GUI对象时启动,它需要能够读取其GUI对象的NSUserDefaults,并且需要能够显示它自己的简单GUI,或启动主要的应用程序来显示它。另外,我正在Mac应用商店发布它,并且我已经听到了一些特殊的方法,您必须安装这样的内容才能获得用户的许可。有没有人有任何信息,可能是教程,如何做到这一点?我的Googleing在这方面出现异常干燥......Mac守护进程howto(由'book')

回答

7

Technical Note TN2083如果您尝试实现这些类型的内容,但从OS X 10.5开始尚未更新,但是,它提供了一些很好的背景和历史。另请阅读Daemons and Services Programming Guide,其中涵盖了10.6/10.7中的新API,如服务管理框架和XPC。

如果您需要在计算机启动时运行(而不是用户登录时),那么您还需要安装身份验证;您可以(最好)在您的应用程序内使用身份验证,或者使用安装程序。如果您只是在登录时运行而开心,那么您可以使用SMLoginItemSetEnabled来创建登录项目;这是AppStore指南中的explicitly allowed

相比之下,Mac App Store中不允许在引导时启动的后台进程和需要认证的应用程序。这些准则并未公开发布,但如果您拥有Mac开发者会员资格,请仔细阅读。当然,如果你在App Store外发布你的应用,你可以自由地做到这一点。只要App Store应用程序运行良好,您也可以选择将应用程序的全职背景方面设置为App Store外的可选下载。