MAC OS X 10.8上的所有用户应用程序偏好设置

4

在 MAC OS 10.8.x 上,是否有可能让应用程序存储全局偏好设置(即适用于所有用户),而不必使用帮助工具(例如 SMJobBless)?

我尝试过向应用包写入,尝试寻找所有用户都可以读写的位置,但两种尝试都没有成功。

我还能尝试什么?


@trojanfoe 理想情况下是这样的。但沙盒隔离虽然更好,但并非必需。因此,我将接受任何解决方案,无论它是否使用沙盒隔离。 - user2176763
为明确起见:整个应用程序包应被视为不可写。当通过MAS安装时,它是不可写的。当被管理员安装时,其他用户会发现它是不可写的。当通过磁盘映像交付时,许多用户将直接将其拖入Dock中;由于他们正在使用的副本仍在磁盘映像上,而您通常会以压缩和只读方式发送该映像,则该图像上的包是不可写的。 - Peter Hosey
1个回答

2
将此答案保留在这里,但可能对您没有真正的帮助,因为您可能需要特权访问才能进行CFPreferencesSetValue()调用。我已经好几年没有做过这样的事情了。
如果您不需要使用沙箱来工作,则需要使用较低级别的首选项接口CFPreferences。具体来说,您可以使用CFPreferencesSetValue()和CFPreferencesCopyValue()以及kCFPreferencesAnyUser。
这可能适用于沙盒应用程序,但我还没有尝试过。根据“使用Core Foundation管理首选项”的首选项和设置编程指南
写入应用程序域外部是沙箱中安装的应用程序无法实现的。
这暗示它是合法的,因为这在应用程序域内。但是,沙盒应用程序很可能会将该应用程序域首选项写入每个用户的沙盒中,因此实际上不起作用。您必须尝试一下。

2
写入 kCFPreferencesAnyUser 确实需要提升的权限。 - Catfish_Man

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接