简体   繁体   English

在用户之间共享用户默认值

[英]Share user defaults between users

I'm using user defaults to store my app data. 我正在使用用户默认值来存储我的应用数据。

I have some global data that is relevant for all users on the same machine. 我有一些与同一台机器上的所有用户相关的全局数据。

How can I share this data between them? 我如何在它们之间共享这些数据?

NSUserDefaults' initWithSuiteName did not work. NSUserDefaults的initWithSuiteName不起作用。

The only workaround I found it to write to a hidden file in the root folder, but that is too visible to the users. 唯一的解决方法是我发现它写入根文件夹中的隐藏文件,但这对用户来说太明显了。

The closest you could do is to make all of the users be members of a single group, then make a group writable file with the shared data. 您最接近的方法是使所有用户成为单个组的成员,然后使用共享数据创建组可写文件。 It could be a plist and it could even be accessed via the defaults API, assuming you don't need multiple simultaneous write access. 它可能是一个plist,它甚至可以通过默认API访问,假设您不需要多个同时写入访问。

You could use CFPreferences APIs instead of NSUserDefaults , passing kCFPreferencesAnyUser as the user name parameter. 您可以使用CFPreferences API而不是NSUserDefaults ,将kCFPreferencesAnyUser作为用户名参数传递。 However, setting defaults for all users requires admin privileges. 但是,为所有用户设置默认值需要管理员权限。

您可以使用/Users/Shared目录,如iTunesApp Store

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM