我正在尝试从我的macOS应用程序(objective-c)运行setpriority
命令。它永远不会起作用,我认为这是因为应用程序没有以root用户身份运行。
sudo
chmod
Accessibility
Security and Privacy
列表中
Xcode版本9.2(9C40b)
感谢任何帮助,谢谢!
答案 0 :(得分:1)
您希望以root
运行,还是希望与sudo
一起运行?有区别。绝对不建议以root身份运行,您将从系统中获得奇怪的行为。
您写道:
我尝试用sudo打开应用
那应该有用。你怎么试过的?您需要在.app包中调用二进制文件。对捆绑包运行open
将无效。
e.g。
sudo ./Xcode.app/Contents/MacOS/Xcode
答案 1 :(得分:0)
不建议以root身份在macOS上运行GUI应用程序。相反,您应该将需要root访问权限的应用程序部分分解为单独的帮助工具,使用SMJobBless()
函数以root身份启动该工具,然后使用XPC与该工具进行通信。
Apple提供了EvenBetterAuthorizationSample示例代码,以提供一个非常好的基本框架。