サンドボックス化されたmacOSアプリでアップルメニューにアクセスするとエラーが記録される 質問する

サンドボックス化されたmacOSアプリでアップルメニューにアクセスするとエラーが記録される 質問する

リリースされたばかりの macOS 10.12.2、Xcode 8.2、Swift 3 を実行しています。

サンドボックス化されたmacOSアプリすべてで奇妙なエラーが発生します。Xcodeからアプリを実行し、Appleメニュー(左上)をクリックすると、Xcodeのコンソールに次のエラーが記録されます。

2016-12-13 19:30:55.867046 Project-X[3430:411160] [ユーザーデフォルト] CFPrefsPlistSource<0x6100000e3f00> (ドメイン: com.apple.PowerManagement、ユーザー: kCFPreferencesAnyUser、ByHost: Yes、コンテナ: (null)) の値の読み取りに失敗しました: アプリケーションのコンテナ外の設定にアクセスするには、cfprefsd から切り離されたユーザー設定読み取りまたはファイル読み取りデータ サンドボックス アクセスが必要です

ビルドを作成し、それをローカル アプリとして Mac に保存してそこから実行すると、macOS コンソールに上記と同じエラーが表示され、さらにプロセスの下に FAULT として次のエラーも表示されますcfprefsd

アプリケーションのコンテナ外の設定にアクセスするには、ユーザー設定の読み取りまたはファイル読み取りデータのサンドボックス アクセスが必要なため、プロセス 3384 からの { com.apple.PowerManagement、kCFPreferencesAnyUser、kCFPreferencesCurrentHost、コンテナなし、管理対象: 0 } の読み取りを拒否します。

..そしてkernelプロセスの下にこれがあります:

SandboxViolation: Project-X(3384) deny(1) file-read-data
/Library/Preferences/com.apple.PowerManagement.plist

ビルドを作成するとそれなしサンドボックス化により、エラーはどこにも表示されなくなります。

私の権限設定は次の 2 つです。

  • アプリサンドボックス
  • com.apple.security.files.ユーザーが選択した読み取り/書き込み

10.12.1 でも同じ問題が発生し、10.12.2 で解決されるかもしれないと思っていましたが、それでも解決しません。アプリの実行中に Apple メニューをクリックした場合にのみ発生するため、奇妙に特殊です。

ご意見をいただければ幸いです。

ベストアンサー1

エラーが解決しない場合は、一時的な例外権限キーを使用して、問題の plist にアクセスできます。

<key>com.apple.security.temporary-exception.files.absolute-path.read-only</key>
<array>
        <string>/Library/Preferences/com.apple.PowerManagement.plist</string>
</array>

おすすめ記事