Relux iOSアプリ開発にfastlaneを導入してAppStore申請を自動化
本エントリーはこちらの記事の続きになります。
凄く間が空いてしまいました...(反省)
wootan1102.hatenablog.com
前回は fastlane のテストアプリ配信についてを紹介しました。
今回は AppStore への申請について紹介したいと思います。
AppStore申請の自動化
AppStore申請作業
通常の手順は以下のようになります。
fastlaneでは全ての工程を自動化することができます。
Fastfile
fastlane/Fastfileの自動生成されたappstoreレーンを使用します。
deploygateの配信よりも時間がかかりますが、
コマンドを実行するだけで良いので簡単です。
appstoreレーン
- sigh プロビジョニングファイルの更新
- gym アプリケーションのビルド
- deliver AppStoreへのアップロード
lane :appstore do cert sigh(force: true) gym(scheme: "relux", configuration: "Release") deliver(force: true) end
after_allでSlackに通知するようにしておけば
AppStoreへのアップロードが終わった時点でSlackに通知されます。
Tips
パスワードを変更した場合
パスワードの情報はKeychainに保存されています。
iTunesConnect上でパスワードを変更し fastlane を実行するとエラーになります。
その際に下記のようにコンソール上で新しいパスワードを入力できるようになっています。
新しいパスワードを入力すると自動的にKeychainに保存されます。
Starting login with user 'XXX@XXX.XXX' ------------------------------------------------------------------------------------- The login information you enter will be stored in your Mac OS Keychain You can also pass the password using the `FASTLANE_PASSWORD` env variable More information about it on GitHub: https://github.com/fastlane/fastlane/tree/master/credentials_manager ------------------------------------------------------------------------------------- Password (for XXX@XXX.XXX):
AppleIDを変更した場合
fastlane 配下にある2つのファイルを変更する必要があります。
team_idやapp_identifierなどもこのファイルで変更することができます。
project_dir/fastlane/Appfile
apple_id "XXX@XXX.XXX"
project_dir/fastlane/Deliverfile
username "XXX@XXX.XXX"
メタ情報の更新/スクリーンショットの更新をスキップする
Deliverfileに追記することでスキップさせることができる
project_dir/fastlane/Deliverfile
#メタ情報の更新をスキップ skip_metadata true #スクリーンショットの更新をスキップ skip_screenshots true
※ 詳細な使い方などはドキュメントに書いてあるので一度読んでみるのがおすすめです。
github.com
AppStoreへの申請を自動化してよかったこと
Schemeの指定ミスを防ぐ
Releaseを選択していたつもりがDebugになっており
アップロードしなおすというミスが完全になくなりました。
頻繁に発生する問題ではありませんが自動化したことで
Schemeが正しいかを確認する必要がなくなりました。
工数大幅削減
AppStoreへの申請作業は月に数回しか行わないものですが
それなりに時間がかかるのでかなり負担になっていました。
作業自体は難しいものではありませんが工数が大幅に削減することができ、
誰でも簡単に申請作業ができる状態になりました。
Gitでの管理
メタ情報(アプリ概要、アップデート情報)やスクリーンショットをGit上で管理できるようになります。
Gitで管理することによりAppStore上の情報の更新に対してレビューを行えるようになりました。
セットアップも簡単でドキュメントもしっかりしているので
設定でつまづくことはないと思います。ぜひ試してみてください!
※チーム無いで証明書を共有して管理するツールもあります。こちらのやり方が推奨されているようです。
fastlane/match at master · fastlane/fastlane · GitHub