我正在制作一个简单的应用程序,让您快速输入要运行的shell命令。 它完美的工作,但是有sudo命令的问题。 目前,它检测到一个sudo命令,然后尝试让它为用户的密码显示一个授权窗口,就像您在安装程序中看到的一样。在Mac应用程序中提升为管理员权限
下面的代码,一旦检测到它是一个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
}
现在,据我所知,这是完全和完全错误的。这正是我从文档中拼凑出来的东西。有任何想法吗?
但是这不会执行NSTask。任何想法如何使用权限执行NSTask? – 2012-08-27 15:48:33