我正在制作一个简单的应用程序,可让您快速输入要运行的 shell 命令。它工作得很好,但是存在 sudo 命令的问题。目前,它检测到一个 sudo 命令,然后我尝试让它为用户密码打开一个授权窗口,就像你在 Installer 中看到的一样。
这是检测到它是 sudo 命令后的代码:
SFAuthorization *authorization = [[SFAuthorization alloc] initWithFlags:kAuthorizationFlagPreAuthorize rights:NULL environment:kAuthorizationEmptyEnvironment];
if ([authorization obtainWithRight:"com.mycompany.myapplication" flags:kAuthorizationFlagPreAuthorize error:nil]){
//authorized, now run the command using NSTask.
}else{
//fail
}
现在,据我所知,这是完全错误的。这正是我从文档中拼凑出来的。有任何想法吗?