2015年9月4日金曜日

[Xcode] コマンドラインからipaファイルをエクスポートする

どうも、俺です。

 今日は、アーカイブされたiOSアプリをコマンドラインから.ipaファイルをビルドする方法をメモ。


いつも通りProduct>Archiveします。




オーガナイザーが起動するので、対象のビルドされたアプリを選択しCtrl押しながらクリックし「Show in Finder」を選択。




Finderが起動するので、ファイルのパスとファイル名をメモ。




次に、XcodeのBuild Settings>Code Signingからビルドに使用するプロビジョニングプロファイルの名称(通称?)をメモ。




今回の場合、Releaseビルドをしようと思うので「KabekeriSasuke3_AppStore」をメモ。


あとはビルドコマンドを打ち込むだけ。

xcodebuild -exportArchive -archivePath '.xcarchiveファイルのパス' -exportPath '出力先のファイルパス' -exportFormat ipa -exportProvisioningProfile 'プロビジョニングプロファイルの名称'

なので、今回の場合はこうなります。
xcodebuild -exportArchive -archivePath '/Users/USER_NAME/Library/Developer/Xcode/Archives/2015-09-04/Sasuke3 2015-09-04 16.07.xarchive' -exportPath '/Users/USER_NAME/Desktop/Sasuke3App' -exportFormat ipa -exportProvisioningProfile 'KabekeriSasuke3_AppStore'

こうするとDesktop上にSasuke3App.ipaファイルが出来上がります。


なぜこのような面倒なことをするのか、と言うと理由は2つ。
1つは、例えば受託案件でクライアント所有の証明書やプロビジョニングプロファイルでビルドする際、先方のiTunesConnectのアカウント情報を知らないとXcodeからDistributionビルドできません。
そういう場合に、上の方法でビルドします。

もう1つは、自社アプリをAdHocビルドしようとしたときに、オーガナイザで選択するプロビジョニングプロファイルが「XC Ad Hoc: xxxx〜....」というファイルしか選択できないときがあります。(ありました。)
なぜそうなってしまうのか未だ原因は分かっていませんし、そのプロビジョニングプロファイルでもビルド出来るのですが、
何かしっくりこないので、そういう場合にコマンドラインからビルドしました。

XC Ad Hoc: 〜プロビジョニングプロファイルについて何か知っている方いらっしゃったら教えてください〜m(__)m

以上でぇえぇぇす。

1 件のコメント:

匿名 さんのコメント...

bundle identifierが異なるとかではないのですか?