A 3: コマンドラインから自力で作る
# バンドル化 xcodebuild -configuration Release -sdk iphoneos # パッケージング /usr/bin/xcrun -verbose -sdk iphoneos PackageApplication `pwd`/build/Release-iphoneos/MyApp.app -o `pwd`/build/MyApp.ipa --sign "iPhone Distribution: Omaeno NAME"
xcodebuild すると build/Release-iphoneos/MyApp.app にできてるのでそれを .ipa にする。
xcrun はラッパーで /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/PackageApplication みたいなパスのコマンドを実行している。
PackageApplication を生で扱うと出力先のディレクトリ全消去(上書き)したりする過激なツールなので、実行前にはバックアップしておく(.svn .git とかも消去される)のをおすすめする。
--sign の引数にはXcode のビルド設定でRelease に使っている証明の名称をそのままコピペしておく(デフォルト指定でうまくいく場合もある)。
他の記事では--embed という引数で証明書も渡しているみたいだけど、普段ビルドに使っているマシンでキーチェインに全部登録してるならつけなくてもよさげ。
でも.ipa のファイルフォーマットってPayload/ 以下に .app がそもまま入っているだけのZIP なのでipa 作りたいだけで署名をやり直す必要ってなさそうなんだけどなー。
参考
bdunagan – Ad-Hoc and App Store IPAs with xcrun
http://www.bdunagan.com/2011/12/12/ad-hoc-and-app-store-ipas-with-xcrun/
iPhoneアプリビルドのシェルスクリプト - 風日記
http://d.hatena.ne.jp/mmasashi/20111120/1321800829
bdunagan – Ad-Hoc and App Store IPAs with xcrun
http://www.bdunagan.com/2011/12/12/ad-hoc-and-app-store-ipas-with-xcrun/