如何正确使用 pkgbuild / productbuild 中的"defaults write"?



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

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无法访问它们。如何使其正确工作?

不要这样做。

如果你的应用程序需要某些"默认"默认值才能运行,在第一次启动时,请注意它们不存在,并将其写出来。

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

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

相关内容

  • 没有找到相关文章

最新更新