iOSアプリのArchive→Export→Deploygateにuploadを自動化
自動化したかった作業
iOSアプリのよくある配布フローとして、Archiveから、development(adhocではない)で署名したipaを作成し、Deploygateにアップロードして、配布しているのですが、この作業のビルド待ち時間と、ちょっとした手作業に萎えていました。
bashで自動化する
今回はbashスクリプトを作成しました。
必要なツール
- Xcode Command Line Tools
- deploygate command line tool
スクリプトを用意
create-ipa.sh
#!/bin/bash
# 作業ディレクトリ作成
mkdir build
# CleanしてArchive作成
xcodebuild -workspace hogehoge.xcworkspace \
-scheme hogehoge \
-configuration Release \
clean archive \
-archivePath ./build/build
# Exportしてipa作成
xcodebuild -exportArchive \
-archivePath ./build/build.xcarchive \
-exportPath ./build \
-exportOptionsPlist exportOptions.plist
# Deploygateにupload
if (( $# > 0 )); then
dg deploy ./build/iotwest-ios.ipa --message "$1"
else
dg deploy ./build/iotwest-ios.ipa
fi
Exportでのオプションファイルを用意
exportOptions.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>compileBitcode</key>
<false/>
<key>method</key>
<string>development</string>
<key>signingStyle</key>
<string>automatic</string>
<key>stripSwiftSymbols</key>
<true/>
<key>teamID</key>
<string>XXXXXXXX</string>
<key>thinning</key>
<string><none></string>
</dict>
</plist>
各ファイルの詳細は以下を参照してください
- https://qiita.com/rsahara/items/024d9907af2c051f3d44
- https://docs.deploygate.com/docs/cli
- https://github.com/DeployGate/deploygate-cli
ファイル構成
詳細は省きますが、以下のファイルを同じフォルダに配置します。
create-ipa.sh、exportOptions.plist、hogehoge.xcworkspace
bash実行
あとはターミナルからスクリプトを実行するだけ
./create-ipa.sh test
# testはメッセージです
処理が完了したら、Deploygateにuploadされました〜。
これで毎回の手作業から解放されました。
ありがとうございました!
Author And Source
この問題について(iOSアプリのArchive→Export→Deploygateにuploadを自動化), 我々は、より多くの情報をここで見つけました https://qiita.com/ochim/items/66c37e45bb8bcc477ad8著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .