【Xcode/Fastlane】スクショやアプリ概要などのメタ情報を自動化する方法!

この記事からわかること
- iOS/Xcodeの自動化ツール:Fastlaneの使い方
- App Store Connectのメタ情報を自動化する方法
- スクリーンショットやアプリの概要など
\ アプリをリリースしました /
環境
- Xcode:15.0.1
- watchOS:10.0
- Swift:5.9
- macOS:Sonoma 14.1
- fastlane:2.221.0
Xcode/iOSアプリでFastlaneを使用してクショやアプリ概要などのメタ情報を設定する方法をまとめていきます。App Store Connectへのリリースとdeliverアクションの使い方は以下を参考にしてくだ際。
スクショやアプリ概要などのメタ情報を設定する方法
Fastlaneを使用してApp Store Connectにビルドをアップロードする際にはストアのメタ情報も一緒に自動化に含めて設定することができます。
アップロードまでの流れを自動化する際に使用するdeliver
アクションは最初に以下のコマンドを実行してストアに掲載する情報を入力する基盤を作成します。このコマンドの実行時にAppfileに記述したバンドルIDのストアページがない場合はエラーになるので先に作成しておく必要があります。
コマンドを実行するとFastfileと同階層に「DeliverFile」、「metadataディレクトリ」、「screenshotsディレクトリ」の3つが生成されます。
このコマンドを実行した際に既にストアにスクショやメタ情報を記述していた場合はそれが反映された状態で「metadataディレクトリ」、「screenshotsディレクトリ」が生成されます。「DeliverFile」はdeliverアクションのパラメータファイルです。
ちなみにスクリーンショットを除いたストア情報に関しては設定する方法は2種類あるようです。
- metadataディレクトリに生成される各種テキストファイルに指定
- deliverアクションの引数に指定(Deliverfileに記述)
スクリーンショットを設定する
ストアに掲載するスクリーンショットはscreenshots
ディレクトリの中に用意します。ただ適当に画像を入れれば良いわけではなく、適切なディレクトリにまとめて適切な画像名で用意する必要があります。(画像によってはサイズを自動で識別し割り振ってくれます。)
今ストアに上がっているスクリーンショットをダウンロードするにはbundle exec fastlane deliver download_screenshots
コマンドを使用します。--use_live_version
オプションでリリースされているものか準備中のものかを選択できます。
既に上げていればコマンドを実行することで必要なディレクトリ構成や画像名がわかるようになります。ルールは以下の通りのようです。
- screenshots配下に言語名ディレクトリを配置
- 画像名の命名規則は「[No]_APP_[デバイス名]_[インチ]_[No].png」
2024年6月の時点では必要なスクリーンショットは「iPhone5.5/6.7」と「iPad12.9/13」になるのでディレクトリ構成と画像の命名規則は以下の通りになると思います。iPhoneのスクショは実際には画像名を適切に設定しないでも画像のサイズが正しければ自動で割り振ってくれます。iPadは画像サイズが同じなので適切な命名をしないと期待した通りにアップロードできません。
レビュー情報
「review_information」ディレクトリ中のテキストファイルはApp Store Connectのレビュー情報のメタ情報の項目と連携しています。テキストファイルの中にはメタ情報として掲載したい値のみを記述しておきます。

例えばphone_number.txt
には電話番号を記述します。日本なら最初の0
を+81
にする必要があるので注意してください。
DeliverFileで指定する
著作権
「copyright.txt」ディレクトリ中のテキストファイルはApp Store Connectの著作権のメタ情報の項目と連携しています。
著作権は年数と自身の名前などを以下のように指定することが多いです。これはテキストファイルより「DeliverFile」に指定することで関数が使用できるようになり変更する手間が省けるのでおすすめです。
DeliverFileで指定する
カテゴリ
アプリのカテゴリは「metadata」ディレクトリ直下に用意されている「primary_category.txt」などに 記述していきます。
中に指定する値はあらかじめAppleに定義されているカテゴリ名です。種類は以下の公式リファレンスを参考にしてください。
アプリ情報
アプリに関する情報は言語ごとにファイルが用意されておりその中に用意します。
利用可能な言語コード
まだまだ勉強中ですので間違っている点や至らぬ点がありましたら教えていただけると助かります。
ご覧いただきありがとうございました。