【发布时间】:2015-12-03 03:19:39
【问题描述】:
我正在使用用户默认值来存储我的应用数据。
我有一些与同一台机器上的所有用户相关的全局数据。
如何在他们之间共享这些数据?
NSUserDefaults'initWithSuiteName 不起作用。
我发现它的唯一解决方法是写入根文件夹中的隐藏文件,但这对用户来说太明显了。
【问题讨论】:
标签: objective-c macos share nsuserdefaults defaults
我正在使用用户默认值来存储我的应用数据。
我有一些与同一台机器上的所有用户相关的全局数据。
如何在他们之间共享这些数据?
NSUserDefaults'initWithSuiteName 不起作用。
我发现它的唯一解决方法是写入根文件夹中的隐藏文件,但这对用户来说太明显了。
【问题讨论】:
标签: objective-c macos share nsuserdefaults defaults
您可以做的最接近的做法是让所有用户成为单个组的成员,然后使用共享数据创建一个组可写文件。它可以是一个 plist,甚至可以通过默认 API 访问,假设您不需要多个同时写入访问权限。
【讨论】:
您可以使用CFPreferences API 代替NSUserDefaults,将kCFPreferencesAnyUser 作为用户名参数传递。但是,为所有用户设置默认值需要管理员权限。
【讨论】: