APIを利用せずにiTunes Connectにipaを自動アップロードできるようにする
前回に続き自動化の話。
今度はApple Storeに自動化したいと思います。
Appleの場合、App Store Connect APIを利用すると自動化できるようだが、
個人開発の場合、iTunes ConnectからAPIの利用をリクエストしそれが認証されると使えるらしい。
とりあえずリクエストを送って10日たった今でも許可されずどうもできない…
追記: 10日ほどで承認メールが届きました。
と言うことでお気軽な方法を利用することにした。
通常XcodeをインストールするとApplication Loader.appがついてくる(Xcode -> Open Developer Tool)が、ここでビルドしたipaをアップロードできるのだがこれがコマンドラインから利用できるようになれば
実は簡単に自動化できると言うお話だった。
ということで下記結果のサンプルコード
#ipaのパス IPA_PATH=[PathToIpa]/test.ipa USERNAME=[UserName] PASSWORD=[Password] OPTIONS=[Option] # altoolのパス ALTOOL_ABSOLUTEPATH=$(xcode-select -p)/../Applications/"Application Loader.app"/Contents/Frameworks/ITunesSoftwareService.framework/Support/altool "${ALTOOL_ABSOLUTEPATH}" ${OPTIONS} -f "${IPA_PATH}" -u ${USERNAME} -p ${PASSWORD}
OPTIONはバリデーションなり細かい設定ができる
詳しくはヘルプを表示し確認しよう
こんな感じで
/Applications/Xcode.app/Contents/Applications/Application\ Loader.app/Contents/Frameworks/ITunesSoftwareService.framework/Support/altool -h
Apple ID Api Keyの発行
ここで問題になるのが、上記のUSERNAMEとPASSWORD。
ipaをアップロードできる…つまりiTunes ConnectのDeveloper権限を持っているApple IDから発行できる。
ここで重要になるのが、Apple IDは2段階認証設定されている必要があるので別途対応しておこう。
Apple IDより権限を持っているapple IDでログインし、App用パスワードを発行
USERNAMEはApple IDのメールアドレスを、PASSWORDは先ほど発行したApp用パスワードを設定。
簡単でしたね。
念のため自動化するときは一度ターミナルで実行しよう。
Macの場合はアプリケーションの許可なりなんなりで、許諾がでて面倒なので。