目的
fastlaneを今更使ってみました。
今更で使ってみた理由ですが。
iOSの場合だとやはり、アプリを申請する際の待ち時間がどうしても億劫です。
コマンド一つで申請してくれるのであれば良いかなと
現状、特に設定はしておらず、本当に申請までコマンド一つで行う場合、設定が必要な感じがします(もしくは出来ない)
次回以降どうなるかは追記します。
ちなみに今更の理由ですが、
2年近く前に携わっていた会社にて、私とは無関係のiOSプロジェクトにてfastlane
がエラーでできないという現象がありました。
その案件のiOS初心者担当者がfastlane
でのコマンド実行での申請しか知らないというか、引き継いでいなかったようです。
XcodeからArchiveする方法が分からなく、私がズサンに教授したことがありました。
そのときfastlane不便そうだと感じたので今まで無視してきた状態です。
Appleが2段回認証を導入したことで、ネット上でも阿鼻叫喚になったようで、現状その辺りどうなっているのかという興味もあり、導入してみました。
参照サイト
検索して引っかかるのは、正直どれも古い記事ばかりでした。
ということで、公式サイトだけ参照して入れてみました。
fastlane Getting started with fastlane for iOS
fastlane iOS App Store deployment using fastlane
fastlane Application specific passwords
導入手順
以降ターミナルで操作いたします。
また、すでに手動でリリースしていたアプリを対象にしています。
command line tool導入
念のため記載しますが、Xcode入れているのであれば不要
$ xcode-select --install
fastlaneインストール
以下コマンドでfastlane
をインストール
Rubyを使ってのインストールもできそうです。
$ brew install fastlane
fastlaneの設定
まず、アプリのディレクトリに移動しておいて、以下のコマンドで初期設定
ドキュメントには詳細書いてなさそうで、、辛い。
$ fastlane init
fastlaneの使い道を聞かれるので、3を選択
What would you like to use fastlane for?
1. 📸 Automate screenshots
2. 👩✈️ Automate beta distribution to TestFlight
3. 🚀 Automate App Store distribution
4. 🛠 Manual setup - manually setup your project to automate your tasks
?
-> 3
AppleIDを入力
-> Apple ID Username:
パスワードを入力
-> Password (for XXX):
これが2段階認証の設定かな?ブラウザ見ていたら後述のようなポップアップがでてきまして、この6桁の数字を入力しました。
-> Please enter the 6 digit code:
metadata管理は危険とかあるのかな。。。とりあえずyesで。
Would you like fastlane to manage your app's metadata? (y/n)
y
上記2段階でのポップアップは以下です。
以上で、アプリディレクトリにfastlaneフォルダ
ができていることを確認。
リリース情報設定
なんと!というか当たり前のことかもしれませんが、iTunes Connectに設定するメタ情報も変更できます。
私はリリース情報だけでよかったので、以下のファイルを修正
既存の情報がすでにファイルに記載されているのが便利。
私は先にこの次のリリースコマンドを実施してしまいまして、既存の情報はそこで取ってくるのかも?
fastlaneフォルダ配下の
metadataフォルダ -> jaフォルダ -> release_notes.txtを修正
リリースコマンド実施
まぁ、個人アプリだし良いや!といことでコマンドでリリースしてみる。
アプリバージョンは予めXcodeでアップしています。
またFastfile
という設定ファイルでリリース項目を設定できるようですが、デフォルトで設定が記載されており、すぐにコマンドを実行できる状態でした。
$ fastlane release
途中でリリースのプレビュー画面が表示される。便利!
Does the Preview on path './fastlane/Preview.html' look okay for you? (y/n)
-> y
その後、AppleIDでは無い、何かのパスワード入力を求められる。
★なんのパスワードかはこの後すぐ書いています。
Please provide your Apple Developer Program account credentials
The login information you enter will be stored in your macOS Keychain
-> Password
あとは10〜20分ほど待ちました。
上記最後のパスワード入力について、AppleIDパスワードなどを入力しても以下エラーとなります。
[Transporter Error Output]: Sign in with the app-specific password you generated. If you forgot the app-specific password or need to create a new one, go to appleid.apple.com (-22938)
どうやらAppleから外部ツール用のパスワードを発行してもらう必要があるようです。
Apple ID 管理ページ
に行って、App用パスワード欄から、パスワードを生成します。
パスワードラベルは適切に入力しました。
リリースコマンド実施後
コマンド実行後少ししたら、ビルドアップロード完了のメール書きました。
その後、App Store Connectを見てみると、提出準備中状態でした。
対象アップデートのデータまでは作ってくれていていました。ビルドも未選択の状態です。
なので、ビルドを選択して、提出ボタンを押すだけとなっています。
所感
最初ということもありましたが、かなり時間かかりました。
いつもこの作業が発生するのであれば、使用は控えて手動でやろうと思います。
リリースコマンド$ fastlane release
実行
↓
しばらく放置
↓
Appleからビルド受領の連絡が来る
↓
審査提出処理
上記だったら、使い続けたいと思いました。
以上です。