Unity+iOSにおいて、値型のOrderByがエラーになる。その回避方法を考えて、原因を予想してみた。C#.NETUnity3DLINQUnity OrderBy、OrderByDescending、ThenBy、ThenByDescendingなどのいくつかのLINQメソッドは、以前のUnityでは問題がありました。AOTコンパイラの不具合により、iOSなどAOTコンパイルが必要なプラットフォームで実行時例外が発生することがあったのです。 現在Unityでは、かつてAOTコンパイルが行われていたプラットフォームで、IL2CPPという技術が使われています。 私が把握している限り、IL2CPPでは本投稿「Unity+iOSにおいて、値型のOrderByがエラーになる。その回避方法を考えて、原因を予想してみた。」で紹介したメソッドは、問題なく使えているようです。そのため本投稿の記事本文は、
Unity、はUnity3Dのほうの話ですが、それで開発していてiOS実機にデプロイして確認すると、以下の様なエラーに悩まされると思います! System.ExecutionEngineException: Attempting to JIT compile method ひぎぃ!怖い!これはiOSはネイティブコードしか許可していないので、MonoのAOT(Ahead-Of-Time)コンパイラ経由でネイティブコード変換されるんですが、それの関係で色々な制限があるからなのですね。さて、制限があるのはshoganaiんですが、引っかかるのは痛いです、めっちゃ痛いです、辛いです。 というわけで、どういうコードを書けば発生するのか、というのを並べてみました。どうすれば発生するのか分かれば、自然に避けられますからね。そのうえで、幾つかのものはちょっとしたハックで防げるので、それも述べます。あとは、
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く