今度は、作成した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オプションのみ。
- app-store
- ad-hoc
- package
- enterprise
- development
- 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にアップロードする。
アップロードに成功したら、いよいよ次はpkgをiTunes Connectにアップロードする手順をコマンドラインから行う。サードパーティのツールが必要になり、不具合などでうまくいかないときもあり、難易度が上がるので、まずはここまで、iTunes Connectにアップロード可能なpkgが正しく生成できるまでを確認しておこう。
問題がないことを確認したら、次はdeliverを使ってpkgをアップロードしてみよう。
「macOSアプリのCI事情6 – xcarchiveからpkgファイルを作る」への1件のフィードバック