2014-11-02 2 views
0

Я хочу написать некоторый текстовый файл в папке HD/Preferences/Macintosh/Library:Xcode Objective C Как записать в системный каталог (Mac Os)?

NSString *FullPath = [@"/Library/Preferences" stringByAppendingPathComponent:@"some_txt_file.txt"]; 
    NSString *str = @"some text"; 
    [str writeToFile:FullPath atomically:TRUE encoding:NSUTF8StringEncoding error:NULL]; 

Но это не работает. Если изменить свойство «чтение и запись» в этом окне, мой код работает:

http://s52.radikal.ru/i135/1411/d0/32babf6a05a0.png

При изменении этой опции, система спросить у меня пароль!

Как я могу попросить пароль и получить приглашения администратора для записи в этом каталоге из моего приложения Cocoa для Mac Os, когда я нажимаю кнопку?

Большое спасибо!

ответ

0

Прежде всего, вы должны пересмотреть, действительно ли вам нужно писать здесь, а не ~/Library/Preferences (в каталоге пользователя, а не в корневом каталоге). Предпочтения обычно выполняются для каждого пользователя.

Если вам действительно нужно написать в /Library/Preferences (root), тогда вам понадобятся приподнятые привилегии. Apple предоставляет образец этого here. Обратите внимание, что, если я не ошибаюсь, ваше приложение будет отклонено для этого, если вы планируете зайти в Mac App Store.

+0

спасибо! Я думаю, это то, что мне нужно! Я постараюсь использовать его завтра, а теперь, я ложась спать :) – Stass48

+0

Могу я вас уважать? У меня нет репутации 15, и я не могу голосовать за вас :( – Stass48