0

(公開されたゲームの) アプリ ストアに再度送信できるようにするために、IPv6 で機能するようにする必要がありました。そのため、Unity をバージョン 5.3.5p2 に更新しました (最新のパッチ バージョンが利用可能です)。

すべてのネットワーク インターフェイスを作り直しました (以前は、バックエンド サーバーの com には従来の http 要求を使用し、アセットのダウンロードにはソケット接続を使用していました)、すべてを UnityEngine.Experimental.Networking の UnityWebRequest、DownloadHandler、および UploadHandler に置き換えました。

Editor と android ではすべて正常に動作しますが、iOS ではただ... クラッシュします。

使用しています: Unity 5.3.5p2 xCode 7.2 および iOS 9.3.2 を搭載した iPad2 ビルド設定: IL2CPP ユニバーサル アーキテクチャ (最小 iOS 7.1) API レベル .Net 2.0 ストリップ エンジン コードをオフに設定 AOT-コンパイル オプションを次のように設定: mint-trampoline 512 (モノスクリプティング バックエンドにこれを使用していました) Xcode の場合: ビットコードが無効になっている最適化レベルが (リリースおよびデバッグ用に) に設定されています: なし[-O0] ゲームの実行時にコンソールに表示されるエラーは次のとおりです。

[UnityEngine.dll]UnityEngine.Experimental.Networking.DownloadHandler でメソッド GetProgress が見つかりません。. [UnityEngine.dll]UnityEngine.Experimental.Networking.DownloadHandler でメソッド ReceiveContentLength が見つかりません。. [プロジェクト名] は最適化されてコンパイルされました - ステップの動作がおかしくなることがあります。変数が使用できない場合があります。

(管理された静的バッファを使用して DownloadHandlerScript を非常に簡単に実装しました)

スクリプティング バックエンドとして mono を使用してビルドすると、問題なく動作します。ただし、IL2CPP は必須です。ご協力ありがとうございました。

4

2 に答える 2

0

スクリプティング バックエンドとして mono を使用してビルドすると、問題なく動作します。ただし、IL2CPP は必須です。

UnityWebRequest呼び出し元の関数がIL2CPP 側でまだ実装されていないか、単なるバグである可能性が非常に高くなります。

UnityWebRequestfrom名前空間を使用していることに注意してください。これは明らかにまだ成熟していないUnityEngine.Experimental実験的なバージョンです。UnityWebRequestUnity 5.4 である Unity の最新バージョンをダウンロードする必要があります。5.4 では名前空間UnityWebRequestに移動UnityEngine.Networkingされ、その新しいリリースでさらに多くのバグが修正されました。Unity の 5.4.0b21 をここからダウンロードしてください。

それでもうまくいかない場合は、WWW代わりに Unity API を使用してUnityWebRequestください。>= 5.3 バージョンでは IPv6セーフです。UnityWebRequestまた、 Unity を 5.4 にアップデートした後に機能しなかった場合は、バグ レポート用にファイルしてください。

于 2016-06-09T11:25:08.713 に答える