この記事でのバージョン
Unity 5.4.0f3
はじめに
UnityからXcodeのプロジェクトを書き出すと結構な重さになりますよね。
例えば空のUnityプロジェクトをビルドした場合でも646.5MBにもなります。
これの原因はlibiPhone-lib.aというファイルで、こいつが600MB以上もあるんです。
libiPhone-lib.a
そもそもlibiPhone-lib.aってなんぞやって話ですが、以下のようなものらしいです。
libiPhone-lib.a ファイルは Unity ランタイムスタティックライブラリであり、RegisterMonoModules.cpp が Unity のネイティブコードを .NET でバインドします。
ようはUnityのコードをiOSで動かすためのライブラリです。多分。
ちなみにMacの場合は以下の場所にあります。
Unity/PlaybackEngines/iOSSupport/Trampoline/libiPhone-lib.a
上記のファイルを毎回コピーしてXcodeプロジェクトに追加しているため、
プロジェクトが重くなるわけです。
Symlink Unity Libraries
前置きが長くなりましたが、Xcodeのプロジェクトを軽くする方法のご紹介です!
やり方は簡単。ビルド時にSymlink Unity Librariesにチェックを入れ、
libiPhone-lib.aの実体をコピーせずにエイリアス(Windowsだとショートカット?)を作成する
ようにするだけ!
これでlibiPhone-lib.aの分、サイズが減るようになります!
おわりに
余談ですが、Symlink Unity Librariesを有効にし、自分のマシン上でXcodeプロジェクトを書き出し、
かつ、そのXcodeプロジェクトをgitの管理に含め、UCBにあげた時にエラーが出たことがあったので、
注意が必要かもしれません。
また、プロジェクトが軽くなるだけで、リリースした時のアプリの容量は変わらない
点にも注意が必要です。