Моему приложению требуется аутентификация для записи в файл hosts.Я могу сделать это, используя следующий фрагмент кода, который я называю.Моя проблема заключается в том, что, когда иногда пользователю потребуется внести это изменение более одного раза в этом экземпляре программы - диалоговое окно с запросом пароля появляется только при первом вызове, и даже если функция вызывается позжезапрос пароля не показывает.Кто-нибудь может пролить свет на это?спасибо.
- (void)someFunction {
AuthorizationRef authorizationRef;
OSStatus status;
status = AuthorizationCreate(NULL, kAuthorizationEmptyEnvironment,
kAuthorizationFlagDefaults, &authorizationRef);
//Run the tool using the authorization reference
char *tool = "/bin/mv";
char *args[] = { "-f", "/tmp/hosts", "/etc/hosts" };
FILE *pipe = NULL;
status = AuthorizationExecuteWithPrivileges(authorizationRef,
tool, kAuthorizationFlagDefaults, args, &pipe);
}