2

発信接続が必要な Mac OS アプリがあります。

Apple Code Signing Guide (Xcode 4.6.2) に従ってエンタイトルメントを有効にすると、ターゲットの概要は次のようになります。

ここに画像の説明を入力

私のプロジェクトには、次のような MYAPP.entitlements ファイルがあります。

ここに画像の説明を入力

すべてが正しい方法で設定されているようですが、アプリを実行しようとすると、

- (void)webView:(WebView *)sender didStartProvisionalLoadForFrame:(WebFrame *)frame

- (void)webView:(WebView *)sender didFinishLoadForFrame:(WebFrame *)frame 

が呼び出されても、webView には何もロードされません。リトル スニッチも接続を要求しません。その後、コンソールに違反は表示されません。

[送信接続を許可する] のチェックを外して資格設定を変更しようとすると、コンソールに次のようにサンドボックス違反が表示されます。

20/05/13 00:44:09,000 kernel[0]: Sandbox: sandboxd(908) deny mach-lookup com.apple.coresymbolicationd
20/05/13 00:44:10,593 sandboxd[908]: ([904]) MYAPP(904) deny mach-lookup com.apple.SystemConfiguration.SCNetworkReachability
20/05/13 00:44:10,601 sandboxd[908]: ([904]) MYAPP(904) deny system-socket

Enable App Sandboxing を削除すると、すべてが機能し、webView がそのコンテンツをロードします...

私が試してみました:

  1. Xcodeを終了するには
  2. コンピュータを再起動するには
  3. セーブモードで起動する
  4. 権利の権限の任意の組み合わせを有効にする
  5. 新しい MYAPP.entitlements ファイルを作成するには
  6. ターゲットの名前を変更するには

誰もこの行動を経験したことがありますか?どんな提案でも大歓迎です...ありがとう。

4

1 に答える 1