macOSアプリのCI事情6 – xcarchiveからpkgファイルを作る


今度は、作成したxcarchiveからpkgファイルを作る。Apple純正ツールを使ってできるのはこのステップまで。その先は難易度が上がるので、まずはここまでの流れを確実なものにしておく。

xcodebuildでpkgファイルを作る

xcarchiveファイルからpkgファイルを作るのにもxcodebuildコマンドを使うのだが、出力時のオプションを引数ではなくplistの形で渡す必要がある。そのため、まずは出力の設定を書いたplistを用意する。

<?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>method</key>
 <string>app-store</string>
</dict>
</plist>

このようなplistファイルを作成して、適当な名前(export-options.plist)で保存する。

plistの中で指定できるオプションは多数あり、xcodebuild -hでそのリストを確認できる。今回最低限必要なのはmethodオプションのみ。

  1. app-store
  2. ad-hoc
  3. package
  4. enterprise
  5. development
  6. developer-id

methodには上記の値を指定できる。AppStore経由での配布用のpkgファイルを出力したいので、app-storeを指定する。

xcodebuild -exportArchive -archivePath build/archive001.xcarchive -exportPath build/pkg -exportOptionsPlist export-options.plist

作成したplistを-exportOptionsPlistパラメータに渡して、xcodebuildでpkgファイルを出力する。archivePathには、archiveアクションで作成したxcarchiveのパスを、exportPathにはpkgファイルの出力先を指定する。

exportオプション用のplistファイルは、ビルドの度に毎回生成する必要はないので、一度作ったらそれを毎回使い回せばOK。

作成したpkgのチェック

作成したpkgファイルを、Application Loaderを使ってiTunes Connectにアップロードする。

application-loader

アップロードに成功したら、いよいよ次はpkgをiTunes Connectにアップロードする手順をコマンドラインから行う。サードパーティのツールが必要になり、不具合などでうまくいかないときもあり、難易度が上がるので、まずはここまで、iTunes Connectにアップロード可能なpkgが正しく生成できるまでを確認しておこう。

問題がないことを確認したら、次はdeliverを使ってpkgをアップロードしてみよう。


コメントを残す

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