1

我正在构建一个安装程序包

pkgbuild --component MyApp.app ... --scripts scriptsdir MyApp.pkg

我想在安装后设置一些用户默认值。所以我做了一个postinstall脚本:

defaults write com.mycompany.MyApp key -string value

但是,这不起作用 - 设置被写入/var/root/Library/Preferences,并且只能由sudo defaults read.

所以我尝试了这个:

defaults write ~/Library/Preferences/com.mycompany.MyApp key -string value

现在它们被写入正确的位置,但权限错误 -stat显示 plist 文件上的权限是-rw------- 1 root wheel,并且defaults read无法访问它们。我怎样才能让它正常工作?

4

1 回答 1

4

不要这样做。

如果您的应用程序需要某些“默认”默认值才能运行,则在首次启动时,请注意它们不存在并将它们写出来。

您对安装的假设过多:进行安装的用户是软件的主要用户;机器上只有一个用户可能有兴趣使用该软件;任何人都已登录!

而是让您的应用在首次启动时设置其默认环境。这将适用于机器上的所有用户,包括安装软件后创建的用户。

于 2013-08-19T01:28:23.920 回答