コマンドでiOSアプリをビルドとパッケージング

投稿者: | 2018年6月11日

xcodeの画面を使わずコマンドでiOSアプリのビルドとパッケージングをします。
コマンドはxcodeコマンドラインツールを使用します。
まずはバージョンを確認します。

$ xcodebuild -version
  Xcode 9.0

ここで表示されたものが意図したバージョンであれば問題ありません。
別のものが表示された場合は下記のの手順で変更することができます。
現在選択されているxcodeを確認します。

$ xcode-select -p
  /Applications/Xcode.app/Contents/Developer

別のバージョンのxcodeに変更します。

$ sudo xcode-select -s '/Applications/Xcode 8.app/Contents/Developer'
$ xcodebuild -version
  Xcode 8.0

続いてプロジェクトをビルドします。
iphoneアプリのプロジェクトがあるディレクトリへ移動し、ビルドコマンドを実行します。

$ xcodebuild -workspace ./XXXXXXXX.xcworkspace -scheme develop -configuration Debug archive -archivePath ./build/

「-workspace」でプロジェクト、「-scheme」でスキーム(環境)、「-archivePath」で出力先をそれぞれ指定しています。
コマンドが成功すると出力先に*.xcarchiveのファイルが作成されます。
次にこれをパッケージングします。
パッケージングする際に、アカウントID等のオプションを指定したファイルを作成します。

$ cd ./build
$ vi ExportOptions.plist

下記ののようにファイルを記述します。
teamIDはキーチェーンから見れる証明書のユーザーIDです。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>compileBitcode</key>
	<false/>
	<key>method</key>
	<string>ad-hoc</string>
	<key>signingStyle</key>
	<string>automatic</string>
	<key>stripSwiftSymbols</key>
	<true/>
	<key>teamID</key>
	<string>XXXXXXXXXXX</string>
	<key>thinning</key>
	<string>&lt;none&gt;</string>
</dict>
</plist>

ファイルを記述できたらパッケージングのコマンドを実行します。
実行引数に先ほど作成したファイルを指定します。

$ xcodebuild -exportArchive -archivePath ./build/XXXXXXX.xcarchive -exportPath ./build -exportOptionsPlist ./build/exportOptions.plist

コマンドが完了すると*.ipaファイルが作成されます。
今回は自力でiphoneアプリの自動ビルド環境を作成しようとしコマンドで実行できるようにしました。
前回作成したmac上のjenkinsからコマンドを実行します。

MacにJenkinsを導入する方法

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA