mac : 「ネットワーク受信接続を許可しますか」
はじめに
Unityでbuildしたappを起動すると、「ネットワーク受信接続を許可しますか」と聞かれてしまう。OKすればいいように思えるが、例えばupd受信をするscriptなどでは、この操作をしている間に、Start関数を通り過ぎてしまうようで、初期化が成功せず、以降、udp受信ができない、と言う現象が起こる。
システム環境設定/セキュリティとプライバシー/ファイアウォールから、ファイアウォールオプション画面で同appを登録してもダメ。
そこで、根本的な対応を調査した。
対応 1
システム環境設定/ セキュリティとプライバシーから、ファイアウォーツをOffにすると、上記の警告は出なくなる。
もし、internetにつながずにappを使用する場合は、これでもいいだろう。
しかし、つなぐ場合は、避けたい手段です。
対応 2
Finder->アプリケーション->ユーティリティ->キーチェーンアクセスを実行します。
[キーチェーンアクセス]メニュー->証明書アシスタント->[証明書を作成…]をクリックする。
------------------------------------------
名前 SaijoCertなど、適当に
固定名のタイプ 自署署名ルート
証明書のタイプ コード署名
デフォルトを無効化 チェックON
------------------------------------------
* 作成]ボタンを押す。
* 警告メッセージが表示されるので、[続ける]ボタンを押し、先に進む。
シリアル番号はそのまま、有効日数は3650日等、長めのものにして、[続ける]ボタンを押す。
* メールアドレスが適切なものかを確認し、[続ける]ボタンを押す。組織や都市、都道府県等は省略しても入力してもどちらでも良い
* アルゴリズムはRSAのままで良いので[続ける]ボタンを押す。
* 鍵用途拡張領域の画面はそのままで良いので[続ける]ボタンを押す。
* 次の鍵用途拡張領域の画面もそのままで良いので[続ける]ボタンを押す。
* 次の鍵用途拡張領域の画面もそのままで良いので[続ける]ボタンを押す。
* 次のサブジェクト代替名拡張領域の画面もそのままで良いので[続ける]ボタンを押す。
* キーチェーンの種類は[ログイン]のままで良いので[作成]ボタンを押す。
* [完了]ボタンを押して、キーチェーンアクセスを終了する。
さらに、秘密鍵を右クリックし、情報を見る、からアクセス制御のタブへ行き、「この項目の使用をすべてすべてのアプリケーションに許可」をcheckします。
ターミナルを開き、appのあるフォルダまで移動。
以下のコマンドを入力する。(sudoは不要)
> codesign -s "署名名(SaijoCert)" -f xxx.app --deep
passwordを要求されるかもしれませんが、passwordを打って通過してください。
続けてターミナル上で以下のコマンドを入力し、Authorityに指定した証明書が設定されているか確認する。
> codesign -dvv xxx.app
続けてターミナル上で以下のコマンドを入力し、[valid on disk]が表示されるか確認する。
> codesign -vv xxx.app
これで、OK。
参考URL
もしよろしければ、サポートをお願いします! 頂いたサポートは、Creatorとしての活動費に充てさせて頂きます。