0

我使用 XCode 9.2 编写了一个 macOS Cocoa 应用程序。

该应用程序的目的是作为一组 shell 命令的包装器,以便用户可以根据需要轻松运行命令。shell 脚本允许用户控制由另一方编写软件的特定设备驱动程序。

我已经设法让应用程序以 root 身份调用 shell 命令。

但是有一些子命令会失败。实际运行的命令是,我认为第二个“ stop -a”失败了:

do shell script \"
cd '/Library/Application Support/ABC' ;
 python '/Library/Application Support/ABC/abc.py' stop -d;
 python  '/Library/Application Support/ABC/abc.py' stop -a;
 python '/Library/Application Support/ABC/abc.py' stop -g;
 python '/Library/Application Support/ABC/abc.py' stop -t;\"
 with administrator privileges

当我在终端中运行相同的命令时,它们可以作为离散命令或在 shell 脚本中工作。

作为最后的手段,我使用命令行从命令行运行应用程序

sudo ~/Library/Developer/Xcode/DerivedData/appname/Build/Products/Debug/appname.app/Contents/MacOS/appname

这非常有效。

因此,似乎当我使用正确提示我输入 root 密码的 NSAppleScript 框架运行时,仍然存在导致命令失败的问题。但是当整个应用程序在sudo一切正常的情况下运行时。

因此,解决方案似乎是将应用程序设置为需要 Root 权限。是否可以为构建的项目设置一个设置,该设置会自动设置为在启动时请求 root 密码?

4

1 回答 1

0

似乎正在工作,我没有收到错误,但仍然想要一些关于如何将应用程序设置为以管理员身份运行的指针。

于 2017-12-28T00:20:02.657 回答