uoz 作業日記

様々な作業の記録を共有するブログです。

xcprojを使って、コマンドラインでプロジェクトに画像などのファイルを追加する【iOS】

英語しか情報がなかったから役に立つ人には役に立つはず。

iOSアプリをつくるとき、xCodeを起動しないでビルドしたり設定かえたりする方法はいろいろある。

その名もxcodebuildっていうコマンドでビルドして.ipaファイルを手に入れることができることは前から知っていた。



xcodebuild(1) Mac OS X Developer Tools Manual Page


こんどは画像を動的にプロジェクトに追加して、ビルドするときに同梱してくれるようにしたい。

xcprojを使おう!

結論だけ言うとxcprojを入れましょう。


0xced/xcproj · GitHub


インストール方法はいろいろあるが、俺はmacだから、homebrewを使った。

brew install xcproj

使い方

俺のやりたいことをやるには、以下のような感じ。

xcproj --project  プロジェクトファイルのパス.xcodeproj add-resources-bundle 追加したいファイルのパス


実際には、俺の案件ではRubyからコマンドを実行しているので、こういう感じになる。

status, stdout, err  = systemu 'xcproj --project  プロジェクトファイルのパス.xcodeproj add-resources-bundle 追加したいファイルのパス'

これをやっても、Xcodeで開いた左側のなんかファイル見れるところには、追加したファイルは入ってこない。
しかし、プロジェクトのプロパティみたいの開いて、「Build Phases」→「Copy Bundle Resources」を見ると、追加したファイルが見えるはず。(Xcode6)
これで、ビルド時にアプリのファイル内にこいつが含まれる。

例えば、アプリ内で使うナビゲーションビューのアイコンを動的にかえたい時とかに使える。