我正在创建一个简单的应用程序,让您快速输入要运行的shell命令.它工作得很好,但是存在sudo命令的问题.目前,它检测到一个sudo命令,然后我尝试让它为用户的密码启动一个授权窗口,就像你在安装程序中看到的那样.
这是代码一旦检测到它是一个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
}
Run Code Online (Sandbox Code Playgroud)
现在,据我所知,这完全是错误的.这正是我从文档中拼凑而成的内容.有任何想法吗?