UnityからiOS用にXcodeのプロジェクトを出力できるが、プラグインなどで追加のフレームワークを使用している場合それらがBuild Phasesに登録されていないので、Xcodeでプロジェクトを開いて設定を編集する必要がある。しかし毎回手作業で編集するのは面倒。そこでUnityからの出力後に実行される PostprocessBuildPlayer という仕組みで自動的に編集する。

Mac OSXで動作確認しました

ビルド後に走らせるスクリプトファイルの決まり事

  • ビルド プレイヤー パイプライン - Unity Manualに書かれているように、Unityのプロジェクトフォルダ以下の Assets/Editor/PostprocessBuildPlayer (拡張子なし)というファイルを作ると、Unityのメニュー File > Build Settings… > Build としたときに、そのファイルが実行される
    • shebangを指定すればRubyでもなんでも書ける
    • 実行権限は与えなくてもよいようだ

Rubyへのxcodeprojのインストール

PostprocessBuildPlayer はどんな言語でもよいみたいだけど、xcodeのプロジェクトを扱うxcodeprojというgemライブラリがあるのでRubyを使う。

  • sudo gem install xcodeproj でインストールする(2014/12/09現在 バージョン0.20.2)
    • PostprocessBuildPlayerで呼び出されるRubyはシステムのRubyが使われるので、rbenvでRubyのバージョンを管理している場合には rbenv global system としてシステムのRubyに切り替えてからインストールを実行すること

xcodeprojを使ってプロジェクトを編集するRubyスクリプトの書き方