##iOS64bit対応
2015年2月審査提出分より、アプリの64bit化が義務付けられ、
各デベロッパーでは対応が進んでいるかと思います。
その中でも厄介なのが、ミドルウエアを使用した開発を行っているアプリ、
すなわちUnityでの64bit対応が待たれていたわけです。
幸いなことに、4.6.xでの対応をUnityサイドからコミットがあり、
ver.4.6.2とver.4.6.3にてIL2CPPの設定が追加され、
64bit版でビルドが可能になりました。
こちらの記事に関しましては、
Unity4.6.3のバージョンにて執筆させていただいております。
##設定方法
設定は至って簡単!
反面ビルドがものすごく重い&時間がかかる!(笑)
1.Build Settingsを開いて、PlayerSettingを押下
2.iOSがセットされていることを確認
3.PlayerSettingタブ一番下のOther Settingにて下記内容を設定
###BuildSettings
BuildSettingにPlayerSettingsの表示ボタンがあるので、
押下した後、Unityのタブにて詳細を設定
###PlayerSetting
BuildSettingsのボタンを押してもポップで出てこないので、
Unityに慣れてない方は「あれ?」ってなるポイント(笑)
エディッタ上のタブに表示されるのでご注意ください。
####Other Setting
ここで細かい設定をしていきます。
Other Settingのタブを広げたら、ちょっと下に移動しましょう。
Configurationがでてきます。
設定
Configuration>Scripting Backend>IL2CPPへ変更
Configuration>Architecture>Universal へ変更
Optimization>TargetiOSVersion>5.1 以降へ変更
Optimization>TargetiOSVersion>6.0 以降へ変更
Optimization>TargetiOSVersion>7.0 以降へ変更
→iPhone5sが初の64bitCPU(A7)のため、以下の端末を切る捨てる懸念あり。
→審査提出時にワーニングが出る。
パッと見、IL2CPPの設定は理解できると思いますが、
Architecture、TargetiOSVersionは何の意味があるかの想定がつかないと思います。
以下で簡単に説明を記載しておきます。
###Architecture
ここではXcodeでビルドする際の設定を行います。
今回64bit対応ということですが、まだ32bitもサポートするのであれば、
両方含んだ形でビルドする必要があります。
なので、Universalにする必要があるのです。
64bitのみでよければARM64で、
まだ32bitのみでよければ、ARMv7で大丈夫です。
###TargetiOSVersion
以下の表を見ていただけると一目瞭然かと思われます。
基準としては、iPhone4Sの発売時のOSが5.0でしたので、
iPhone4sをサポートするのであればといった判断です。
iPhone 5s | iPhone 5 | iPhone 4S | iPhone 4 | |
---|---|---|---|---|
指紋認証 | ○ | ✕ | ✕ | ✕ |
ディスプレイ | 4インチ | 4インチ | 3.5インチ | 3.5インチ |
チップ | A7(64bit) | A6(32bit) | A5(32bit) | A4(32bit) |
以上となりますが、
まだUnity5の発売であったり、今後のAppleの動向でここの内容は変動します。
随時情報は更新させていただきます。