首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CFPreferences任意主机和任何应用程序域行为

CFPreferences任意主机和任何应用程序域行为
EN

Stack Overflow用户
提问于 2017-10-04 23:57:44
回答 1查看 564关注 0票数 1

当使用CFPreferences在osx上设置首选项时,有不同的偏好域

通过阅读苹果开发指南,我了解到对于current-application,当前用户,当前主机首选项,它将存储在~/Library/Preferences/<应用程序包名称>.plist中。对于任意用户的current-application,current-host首选项,它将存储在/Library/Preferences/< application bundle name >.plist中。

但是在哪里存储其他域组合的首选项呢?例如当前用户、当前应用程序、任何主机?这些首选项会在设定时间(CFPreferencesSetAppValue中传播到~/Library/ preferences /< application bundle name >.plist的所有主机上,然后再同步),这些主机连接到本地网络并以当前用户身份登录吗?或者,在阅读过程中,所有主机都会被查询(但在这种情况下,如何处理来自不同主机的冲突首选项)?

对于任意应用程序域,首选项将存储在哪个域,如当前用户、任意应用程序、当前主机等。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-10-05 00:15:41

首选项的“默认”是当前用户、当前应用程序、任何主机。使用包名com.example作为示例,这些首选项将存储在

代码语言:javascript
复制
~/Library/Preferences/com.example.plist

使这个“任意主机”的假设是,您的主目录存储在网络共享上。没有其他机制在计算机上同步它。一般来说,除非您设置的值确实需要特定于用户所在的物理机器,否则您应该始终使用任何主机。

为当前主机设置的首选项存储在ByHost目录下,文件名包括计算机的UUID,如:

代码语言:javascript
复制
~/Library/Preferences/ByHost/com.example.74263C97-28D5-4AF0-8E7A-3169F1CCB545.plist

为所有应用程序设置的首选项存储在包名.GlobalPreferences下,例如:

代码语言:javascript
复制
~/Library/Preferences/.GlobalPreferences.plist

同样,对于所有应用程序,当前主机:

代码语言:javascript
复制
~/Library/Preferences/ByHost/.GlobalPreferences.74263C97-28D5-4AF0-8E7A-3169F1CCB545.plist

为所有用户设置的首选项遵循相同的模式,但在/Library/Preferences下除外。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46575892

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档