devlog [naru design]

プログラミングやテクニカルな内容の覚え書き。

5次元配列をクラス変数として作成した所、Unity上では問題なく動くのにiPhone実機でエラーが発生。

クラス変数として5次元配列のデータを初期化した。

Unity上では問題なく動作したが、iOS向けにビルドしてXcodeから実機で動かすとエラーが発生。

ExecutionEngineException: Attempting to JIT compile method …

5次元配列の値を参照しているところで上記のようなエラーが発生し動作が停止した。

Googleで検索したところ、UnityAnswersに気になる投稿を2つ発見。

“ExecutionEngineException: Attempting to JIT compile method” when Marshal.PtrToStructure function operating on iphone

http://answers.unity3d.com/questions/250803/executionengineexception-attempting-to-jit-compile.html

Why doesn’t Unity iPhone support 4D arrays?

http://answers.unity3d.com/questions/297051/why-doesnt-unity-iphone-support-4d-arrays.html

多次元配列を使うことに問題がありそうなので、配列のインデックスをフラット化して2次元配列に変換。

iPhone実機でも問題なく動作すするようになりました。

根本的な原因は分かりませんが、多次元配列は3次元程度までにしておいたほうが良いのかも…

Pocket

コメントを残す

Trackback URL: