LoginSignup
3
0

More than 5 years have passed since last update.

iOSアプリのArchive→Export→Deploygateにuploadを自動化

Posted at

自動化したかった作業

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>&lt;none&gt;</string>
</dict>
</plist>

各ファイルの詳細は以下を参照してください

ファイル構成

詳細は省きますが、以下のファイルを同じフォルダに配置します。
create-ipa.sh、exportOptions.plist、hogehoge.xcworkspace

bash実行

あとはターミナルからスクリプトを実行するだけ

 ./create-ipa.sh test
# testはメッセージです

処理が完了したら、Deploygateにuploadされました〜。
deploygate.png

これで毎回の手作業から解放されました。

ありがとうございました!

3
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0