在 MAC OS 10.8.x 上,应用程序是否可以在不使用辅助工具(例如 SMJobBless)的情况下存储全局首选项(即适用于所有用户)?
我试图写入应用程序包,试图找到所有用户的 R/W 位置,但两次尝试都没有运气。
我还能尝试什么?
在 MAC OS 10.8.x 上,应用程序是否可以在不使用辅助工具(例如 SMJobBless)的情况下存储全局首选项(即适用于所有用户)?
我试图写入应用程序包,试图找到所有用户的 R/W 位置,但两次尝试都没有运气。
我还能尝试什么?
在这里留下这个答案,但它可能对你不起作用,因为你可能需要特权访问才能CFPreferencesSetValue()
拨打电话。自从我完成其中之一以来已经有好几年了。
如果您不需要它来处理沙盒,那么您想要的工具是较低级别的首选项界面,CFPreferences
. 具体来说,您可以将CFPreferencesSetValue()
和CFPreferencesCopyValue()
与kCFPreferencesAnyUser
.
这可能适用于沙盒应用程序,但我还没有尝试过。根据有关“使用核心基础管理首选项”的首选项和设置编程指南:
对于安装在沙盒中的应用程序,无法在应用程序域之外进行写入。
这暗示它是合法的,因为这是在应用程序域内。但是沙盒应用程序很有可能会在每个用户的沙盒中写入该应用程序域首选项,因此它实际上不会起作用。你必须尝试一下。