2017-02-24 7 views
0

基本的に私のUnityプログラムはOSX上のhostsファイルを変更する必要があり、それには管理者権限が必要です。Unity3dはユーザ認証(OSX)を要求します

UnauthorizedAccessException: Access to the path "/private/etc/hosts" is denied. 

「XXXは変更を望みます:これを可能にするためにパスワードを入力してください」をポップするにはどうすればよいですか?私が下に添付したスクリーンショットのようなものですか?

私はいくつかのGoogleを行ったが、役に立たなかった。

ご迷惑をおかけして申し訳ございません。

enter image description here

+0

コードは失敗しますか?例外はありますか? – Programmer

+0

@Programmerはい私は例外がある、私はちょうど質問を変更します。 – libra

+0

Macでadminとして実行するとどうなりますか? – Programmer

答えて

1

は、いくつかのより多くの研究をした、私は今オフに考えることができる唯一のソリューションは、AppleのAuthorization serviceを使用してネイティブプラグインを作成し、ユニティプログラムからそれを呼び出すことです。

もっとユニティな方法があれば、それを答えとして追加することをためらってください。

EDIT_1:進捗状況の更新と将来の自己へのメモ。

OSX用のネイティブプラグインには、.bundleという接尾辞が付いています。公式の例はC++で書かれていますが、認可サービスへのアクセスはありません。そして私はバンドルプロジェクトのためにOCをセットアップする方法を知らない。今、私は、OS Xのコマンドラインツールアプリケーションを作成し、それをUnity3dの外部プロセスとして実行する方法を試しています。良いニュースは今私はそれを書くために迅速に使用することができます!

EDIT_2:進捗状況の更新と将来の自己へのメモ。

OCで書かれたコマンドラインツールが機能しました。 Unity3dでProcess.start(名前、引数)を使用してコマンドラインツールを開くことができます。

関連する問題