【发布时间】:2012-05-22 19:51:00
【问题描述】:
在 10.7 中弃用 AuthorizationExecuteWithPrivileges 后,除了以 root 身份以编程方式运行诸如 launchctl、chmod、chown 等命令之外,还有什么替代方法?我需要支持 10.5,所以不能选择 SMJobBless。
这是用例。我在运行时为 LaunchDaemons 守护进程生成一个 plist,需要将守护进程和 plist 复制到它们的适当位置并使用 launchctl 卸载/加载 plist
我是否正确理解我需要 root 才能执行这些操作?
【问题讨论】:
-
您需要编写代码来检测O/S版本,或者通过自省检测哪些API可用,并使用那些可用的API。如果不使用这种技术,你很少能写出一刀切的应用程序。
-
“已弃用”并不意味着“无法使用”。如果需要支持 10.5,请使用适用于 10.5 的方法
-
已弃用并不意味着无法使用,但 Apple 倾向于弃用,然后最终完全取消所有支持,我希望尽可能少地为此编写解决方案
标签: objective-c xcode launchd