Estoy haciendo una aplicación simple que le permite ingresar rápidamente un comando de shell para ejecutar. Funciona perfectamente, sin embargo, existe el problema de los comandos sudo. Actualmente, detecta un comando sudo, y luego intento que aparezca una ventana de autorización para la contraseña del usuario, exactamente como lo vería en Installer.Elevar a los derechos de administrador en la aplicación Mac
Aquí está el código una vez que se detecta es un comando 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
}
Ahora, por lo que yo sé, esto es total y completamente equivocada. Esto es justo lo que reconstruí a partir de la documentación. ¿Algunas ideas?
Pero esto no ejecutará NSTask. ¿Alguna idea sobre cómo ejecutar NSTask usando privilegios? –