不同应用程序的NSUserDefaults

MeI*_*eIr 1 macos nsuserdefaults xcode5

我目前正在开发系统窗格,我的应用程序将一些配置设置保存为“用户默认设置”:

NSUserDefaults *userDefault=[NSUserDefaults standardUserDefaults];
NSData *encodedObject = [NSKeyedArchiver archivedDataWithRootObject:listOfStuff];
[userDefault setObject:encodedObject forKey:@"myStuff"];
[userDefault synchronize];
Run Code Online (Sandbox Code Playgroud)

谁能告诉我其他应用程序是否以及如何读取上面系统窗格中保存的设置?

谢谢。

MeI*_*eIr 5

阅读某人的偏好的方法非常简单明了:

    NSUserDefaults *defaults = [[NSUserDefaults alloc] init];

    [defaults addSuiteNamed:@"com.apple.systempreferences.plist"];

    NSLog(@"DefaultExposeTab is: %@", [defaults stringForKey:@"DefaultExposeTab"]); 
Run Code Online (Sandbox Code Playgroud)

确保通过以下方式初始化NSUserDefaults:

[[NSUserDefaults alloc] init];

然后您可以添加所需的首选项列表,在我们的情况下,我想阅读系统首选项:

[默认为addSuiteNamed:@“ com.apple.systempreferences.plist”];

并最终获得您想要的任何键的价值,在此示例中:

“ DefaultExposeTab”

上面的例子很吸引人。请记住,它仅适用于当前用户。

谢谢。

PS:请注意-上面的示例不适用于沙盒应用程序。