発信接続が必要な 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 がそのコンテンツをロードします...
私が試してみました:
- Xcodeを終了するには
- コンピュータを再起動するには
- セーブモードで起動する
- 権利の権限の任意の組み合わせを有効にする
- 新しい MYAPP.entitlements ファイルを作成するには
- ターゲットの名前を変更するには
誰もこの行動を経験したことがありますか?どんな提案でも大歓迎です...ありがとう。