追記
Unity 4.6.2でiOS IL2CPPによる64bit対応が正式に組み込まれました。
Unity 4.6 iOS 64-bit対応版(beta)が公開になったみたいです。
まだβなので色々と不具合がありそうですが、とりあえずil2cppでビルドし64bit対応が出来る感じです。
ちなみに今回のビルドはあくまでIL2CPPテスト用だとか。
4.6 iOS 64-bit beta | Unity Community
なおAppleが2月以降の新規アプリを64bit対応必須にしたため(6月以降はアップデートも64bit対応必須)、今後iOSアプリを出力したい場合は4.6もしくは5のIL2CPP対応版が必要となります。
iPhone5s以降のシェアもそこまで大きくないのに、何でこんな決断したんだろうなあ…
入手方法
4.6 iOS 64-bit beta | Unity Communityの途中のDownload and test!下のURLからダウンロードページに飛べます。そのサイズは豊満であった。
64bit版iOSの出力方法
iOS版PlayerSettingsで、Scripting BackendをMono (2.x)からIL2CPPに変更します。その下のArchitectureで32bit/64bit/ユニバーサルを選択出来る感じです。
ここを変更すれば普通に出力した際にcppが出力されます。
ビルドする
ビルドすると、フォルダにNativeが追加されココにC#のコードをcppに変換した物が格納されてます。出力したコードは良い感じにキモいです。
ビフォア・アフター
ちなみにビルドは超長いです。
その他
説明では以下の内容が言及されてます。
-
il2cpp対応版を出力するには、プラットフォームからil2cppを選択します。
- ビルド時間が超長いです。実際長いです。これは対策中みたいです。
- ビルドサイズがmonoより大きいみたいです。これも対策中みたいです。ただユニバーサルアプリ(32bit/64bit両対応)はmonoより大きくなっちゃうみたいです。そりゃそうですね。
Unity5版では小さくなったみたいです(~40% 程度)。 - uGUIのInputがタッチパネルで動作しないみたいです。これも修正対象。
- P/Invokeと構造体の配列のマーシャリングの際にコード生成部分にバグがあるみたいです。これは次回のバージョンで修正とか何とか。
- WebRequest API が非対応扱いみたいです。
- monoデバッガが機能しないみたいです。
- iOSシミュレータは動かないみたいです。(Unity5は対応済み)
- Unity5でIL2CPPパフォーマンスアップ対応が入ったみたいです。
- Unity5でenumのシリアライズに修正が入ってます。つまり現行バージョンは動かないかもしれません(未確認)