【发布时间】:2011-09-15 11:03:10
【问题描述】:
我正在开发一个应用程序,它为所有用户全局存储一些偏好。它通过将kCFPreferencesAnyUser 作为CFPreferencesSetValue 的userName 参数传入。
在 OS X 版本 10.7 (Lion) 之前,这可以正常工作。但是,当此代码在 Lion 上运行时,调用会失败,即使应用程序是从管理员帐户运行的。 CFPreferencesSetValue 的文档指出:
请注意,如果您具有管理员权限,则只能保存“任何用户”的首选项。
...通过搜索,我发现 Snow Leopard 和 Lion 所需的权限发生了变化(从 admin 到 root)。看来我可以按照 Apple 的 SMJobBless 示例代码继续使用类似的代码...
...安全地安装执行特权操作的辅助工具...
但我注意到kCFPreferencesAnyUser 的文档本身指出:
此域目前不受支持。
使用帮助工具是否是创建所有用户首选项的正确方法?还是我应该使用其他一些受支持的方法?
【问题讨论】:
标签: macos preferences osx-lion