Xcode Objective C如何在系统目录(Mac Os)中编写?

时间:2014-11-02 22:14:10

标签: objective-c xcode macos cocoa

我想在/ Macintosh HD / Library / Preferences文件夹中写一些txt文件:

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

当我更改此选项时,系统会要求我输入密码!

当我点击按钮时,如何从我的Mac OS Cocoa应用程序中获取密码并接收管理员承诺以在此目录中写入?

非常感谢!

1 个答案:

答案 0 :(得分:0)

首先,你应该重新考虑是否真的需要在这里写,而不是~/Library/Preferences(在用户目录而不是root)。偏好通常是每用户的事情。

如果你确实需要写入/Library/Preferences(root),那么你需要提升权限。 Apple提供了此here的示例。请注意,除非我弄错了,否则你的应用程序将被拒绝,如果他们打算在Mac App Store上投入使用。