いんでぃーづ

ゲームいろいろ、いろいろ自由

Unity : ネットワークアクセスでエラー [SecurityException: No valid crossdomain policy available to allow access]

タイトルのエラーはWebPlayerとしてビルドしたスタンドアロンアプリか、WebPlayer向け設定の状態でエディターで実行すると発生します。

メニューの File → Build Settings を開くと次のようになっているはずです。

f:id:sugar_affordance:20160517182253p:plain

てっとりばやく解決したい場合、アクセスするサーバのルードディレクトリに以下のファイルを置きます。

名前はcrossdomain.xmlです。

<?xml version="1.0"?>
<cross-domain-policy>
<allow-access-from domain="*"/>
</cross-domain-policy>

これはなんですか

例えば作ったWebPlayerゲームを http://myapp.test というURLに置いている場合、 http://target.test というドメインにアクセスするには、target.test側で、 「myapp.testに置かれているアプリからアクセスしていいですよ」 という許可を出す必要があります。 これをCORSと言います。

上記のJSONファイルで、myapp.testドメインからのアクセス許可をしているわけです。

特定のドメインのみ許可したい場合、crossdomain.xmlの domain="*" の部分を書き換えればいけます。


“Unity” and Unity logos are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere, and are used under license.


免責事項

当サイトの広告バナー、リンクによって提供される情報、サービス内容について、当サイトは一切の責任を負いません。

また、当サイトの情報を元にユーザ様が不利益を被った場合にも、当サイトは一切の責任を負いません。

すべて自己責任でお願いします。