Question

Quelle est la bonne façon de lancer quelque chose comme $sudo touch folder_name ou $sudo rm à l'intérieur Objective-C / Cocoa? Je change et se déplacer quelques fichiers et ont besoin des privilèges élevés. Tout exemple de code serait grandement apprécié. Merci.

Était-ce utile?

La solution

Une façon de le faire est AuthorizationExecuteWithPrivileges(), mais est déconseillée pour le cours normal des choses. Principalement, il est pour les installateurs, je crois.

Quelque chose comme:

AuthorizationRef auth = NULL;
OSStatus err = AuthorizationCreate(NULL, kAuthorizationEmptyEnvironment, kAuthorizationFlagInteractionAllowed, &auth);
err = AuthorizationExecuteWithPrivileges(auth, command, kAuthorizationFlagDefaults, args, NULL);

Et vous ajoutez un contrôle approprié de err ...

Voir la documentation de l'autorisation .

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top