テラシュールブログ

旧テラシュールウェアブログUnity記事。主にUnityのTipsやAR・VR、ニコニコ動画についてのメモを残します。

Unityが出力するXcodeプロジェクトを修正する

UnityはiOS向けに出力する際、xcodeプロジェクトとして出力します。

このプロセスは正しくは以下の3つのプロセスに分割することが出来ます。

  1. UnityのiOS向けテンプレートプロジェクトを配置
  2. ソースコードを解析し幾つかのファイルを更新
  3. ユーザーが作成したファイルをビルドして配置

さて、その後にBuildPostprocessorPostprocessBuildPlayerを使用してXCodeプロジェクトの中身を更新するのですが、実はテンプレートファイル自体も更新する事ができます。


方法は単純、

  1. Unity.appを右クリックしてパッケージを開く
    スクリーンショット 2014-02-24 23.07.46
  2. Contents/PlaybackEngines/iPhonePlayer/iPhone-Trampoline/Classesを開く
  3. 中身を変更する

要するにiPhone-Trampolineにテンプレートがあるので、それを
更新してしまうといった話です。

基本的にはプロジェクト毎にPostprocessBuildPlayerを使う方が絶対に良いですが、[Unity]iOSでマイクを使った際にUnityが落ちる問題の対策 iOS Advertising Identifier rejection FAQようにUnityの出力するコードが問題を持っている場合は、こういった方法でテンプレートファイルごと上書きしてしまうのも良いかもしれません。

(つまり全プロジェクトに確実に適応するような変更の場合。
 逆に、アドのような特定プロジェクトの組込等には使わない方が吉と思われ)


なお、この方法でテンプレートファイルを更新すると動作の保証が無くなります
(テンプレートを上書きしてるので)

もし問題が発生したら、まずはUnityを再インストールしてXcodeプロジェクトを
リプレースビルドしましょう。