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

適切な場所に書き込まれるようになりましたが、アクセス許可が間違っています — statplist ファイルのアクセス許可が-rw------- 1 root wheelであり、defaults readそれらにアクセスできないことを示しています。これを正しく機能させるにはどうすればよいですか?

4

1 に答える 1

4

これをしないでください。

アプリが動作するために特定の「既定」の既定値が必要な場合は、最初の起動時にそれらが存在しないことに気付き、それらを書き出します。

あなたはインストールについてあまりにも多くのことを想定しています。インストールを行っているユーザーがソフトウェアの主要なユーザーであるということです。マシン上の 1 人のユーザーのみがソフトウェアの使用に関心を持つ可能性があること。誰もがログインしていること!

代わりに、最初の起動時にアプリのデフォルト環境をセットアップします。これは、ソフトウェアのインストールに作成されたユーザーを含め、マシン上のすべてのユーザーに対して機能します。

于 2013-08-19T01:28:23.920 に答える