我正在使用NSUserDefaults在我的应用程序中存储一些数据。
NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
[prefs setObject:@"dummy string" forKey:@"lastValue"];
[prefs synchronize];
出于测试目的,我需要查看系统偏好设备plist文件,其中我的NSUserDefaults数据保存在Mac上。
我知道iOS应用程序用户默认存储的位置,但我不知道mac应用程序。 Mac应用程序的NSUserDefaults数据存储在哪里?
答案 0 :(得分:144)
它们可以在多个地方找到:
~/Library/Preferences/com.example.myapp.plist
~/Library/SyncedPreferences/com.example.myapp.plist
如果沙盒
~/Library/Containers/com.example.myapp/Data/Library/Preferences/com.example.myapp.plist
~/Library/Containers/com.example.myapp/Data/Library/SyncedPreferences/com.example.myapp.plist
答案 1 :(得分:20)
在~/Library/Preferences/com.example.myapp.plist
。
答案 2 :(得分:3)
(Xcode 7.3.1,macOS 10.11.6)
对于其他,如果您使用的是应用程序组
if let prefs = NSUserDefaults(suiteName: "group.groupApps") {
...
}
plist文件将在这里:
〜/ Library / Group Containers / group。 groupApps /库/首/ group.groupApps.plist
答案 3 :(得分:1)
在Sierra,我在这里找到了数据:~/Library/Application Support/
。
答案 4 :(得分:0)
这些数据的另一个可能位置在Playground中尝试时发挥作用。我正在使用XCode 8.3和Swift 3在Playground中试验UserDefaults,并希望查看生成的plist文件。经过一些侦探工作(UserDefaults文件在文件名中包含了bundle标识符并在Playground中调用Bundle.main.bundleIdentifier给出了XCode标识符)后,我惊讶地发现UserDefaults数据被添加到:
~/Library/Preferences/com.apple.dt.Xcode
换句话说,键和值将添加到XCode首选项文件中!我通过为键提供非常不可能的字符串进行了双重检查,并确实添加了它们。我没有勇气尝试使用XCode已经使用过的一些密钥,但这里的注意事项似乎很好。