システム設定の設定ペインで制御されるバックグラウンドのみのアプリがあります。設定ペインとアプリの間で通信するには、分散通知を使用します。ユーザーのデフォルトは を介して共有され[NSUserDefaults addSuiteNamed:]
ます。これはすべて非常にうまく機能します。
この問題は、システム設定ペインでプロンプトが表示されたときに、ユーザーが「すべてのユーザー用」の設定ペインをインストールすると発生します。~/Library/Preferences/
この場合、「このユーザー専用」にインストールされた場合と同じように、設定が に書き込まれます。(これは正しい動作だと思います。)しかし、prefpane がデフォルトのキーを読み取るとき、prefpane/Library/Preferences/
はユーザーのホーム ディレクトリではなく、 を見ているようです。
要約すると:
- ~/Library/PreferencePanes/ にインストールされた環境設定ペイン
- 書き込まれるデフォルト: ~/Library/Preferences/
- 読み取り元のデフォルト: ~/Library/Preferences/
- /Library/PreferencePanes/ にインストールされている環境設定ペイン
- 書き込まれるデフォルト: ~/Library/Preferences/
- 読み取り元のデフォルト: /Library/Preferences/
どこで問題が発生するかについて、誰かが光を当てることができますか?
ありがとう、コルヤ