【Flutter】Android / iOSアプリの2回目以降のリリース（アップデート）手順

## はじめに

今回は、Android/iOSアプリの初回リリースではなく、2回目以降のリリース（アップデート）手順について記載します。というのも、リリース（アップデート）を行う度に、いつもやり方を忘れてしまうので、知見として残して、いつでも参照できるようにしたいと思いました。ぜひ、いいね👍・ストックして参照いただければと思います。

## 開発環境

- Flutter
- iOS/Androidアプリ開発

## 共通の手順

アプリのリリース（アップデート）を行うには、pubspec.yamlを編集して、`アプリのバージョン`、`ビルド番号`を変更（カウントアップ）します。


```diff
- version: 1.0.2+3
+ version: 1.0.3+4
```
- アプリのバージョン：1.0.x
- ビルド番号：＋以降の数字


pubspec.yamlを変更後、ファイル保存をし、以下を実行します。

```
flutter clean
flutter pub get
```
これ以降は、Android/iOSそれぞれで必要な手順になります。

## Androidで必要な手順

以下を実行する事で、`build/app/outputs/bundle/release/`の場所にaabファイルが出力されます。

```
flutter build appbundle
```
次に、Google Play Consoleにログインし、`[ホーム]>[対象のアプリ]>[ダッシュボード]>[リリースの概要を見る]>[リリース ダッシュボード]>[新しいリリースを作成]`に進みます。

![スクリーンショット 2024-09-02 0.06.25.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/674933/4fcf0b8b-645e-02df-1fbb-e3d1cfe5e728.png)

新しいリリースを作成する画面で、以下の通り情報を入力します。

**App Bundle**
先ほど、`build/app/outputs/bundle/release/`の場所に保存されたaabファイルをアップロードします。

**リリース名**
pubspec.yamlに指定した値を記載します。
例. `version: 1.0.3+4`を指定した場合

```
4 (1.0.3)
```

**リリースノート**
書き方の例になります。

```
<ja-JP>
以下の機能を追加しています。
・機能1
・機能2
また、以下の不具合を修正しています。
・〇〇を修正
・△△を修正
</ja-JP>
```
上記の項目を入力後、`[次へ]>[保存]>[公開の概要]`に移動します。
`[1件の変更を審査に送信]`を選択する事で、Googleが審査を実施し、審査が通り次第、リリース（アップデート）が完了します。

## iOSで必要な手順

Xcodeで対象のプロジェクトを開き、`[TARGETS]>[Runner]>[Signing&Capabilities]>[All]>[Signing]>[ios]>[Provisioning Profile]`にリリース用のプロビジョニングプロファイルを設定します。

次に、Flutterの開発環境で以下を実行する事で、`build/ios/iphoneos`の場所にRunner.appファイルが出力されます。

```
flutter build ios
```
次に、Xcodeで`[TARGETS]>[Runner]>[General]>[Identify]`に以下の通り設定をします。

```
Version: 1.0.3
Build: 4
```
次に、Xcodeで`Any iOS Device`を選択し、`[Product]>[Archive]`を実施します。Archiveが終わると以下のような画面が出るので、対象の`Archive`を選択し、`[Distribute App]`を実施します。

![スクリーンショット 2024-09-02 1.02.49.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/674933/dc807398-8258-54a3-b08e-d5f5da80d85d.png)

次に、Xcodeで`[Custom]>[App Store Connect]>[Upload]`を選択し、`[Next]`を押して進んでいきます。`[Select Profile]`を選択する箇所があるので、リリース用のプロビジョニングプロファイルを選択します。最後まで進み、`[Upload]`ボタンを押す事で、`App Store Connect`にファイルのアップロードが完了します。

### App Store Connectでの操作

`App Store Connect`にログインし、`[アプリ]>[対象のアプリ]`を選択します。そして、画面左側のiOSアプリと書かれた横にある`[+]`ボタンから新しいバージョンを作成します。基本的には、前のバージョンの時に記入した情報をコピペして入力します。しかし、以下の項目は、今回のリリース（アップデート）に伴い、記載を変更する必要があります。

**このバージョンの最新情報**
書き方の例になります。

```
以下の機能を追加しています。
・機能1
・機能2
また、以下の不具合を修正しています。
・〇〇を修正
・△△を修正
```

**バージョン**
```
1.0.3
```

**ビルド**

`[ビルドの追加]`から、対象のビルドを選択して先に進みます。すると、以下の通り、`コンプライアンスがありません`と表示されるので、`管理`と書かれたリンクを選択し、質問に答える事で警告マークが消えます。

![スクリーンショット 2024-09-02 1.31.19.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/674933/3e44ba9b-feda-a1a1-596a-3d21ee2fefb1.png)

上記の項目入力後、画面右上にある`[保存]`を選択すると、その横の`[審査に追加]`が押せるようになるので、`[審査に追加]`を選択します。審査に提出し、審査が通り次第、リリース（アップデート）が完了します。

![スクリーンショット 2024-09-02 1.36.01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/674933/62a6743b-2166-9770-e4df-5155ac56e957.png)

## 最後に

今回は、Android/iOSアプリの2回目以降のリリース（アップデート）手順について記載しました。ぜひ、いいね👍・ストックして参照いただければと思います。

## アプリの紹介

最後に宣伝として、私のチーム `NS Laboratory` で作成した`Rankる`というiOS/Androidアプリのご紹介をさせていただきます。
- [iOS版](https://apps.apple.com/us/app/rank%E3%82%8B-%E3%83%A9%E3%83%B3%E3%82%AD%E3%83%B3%E3%82%B0%E7%94%BB%E5%83%8F%E4%BD%9C%E6%88%90%E3%82%A2%E3%83%97%E3%83%AA/id6478833516)
- [Android版](https://play.google.com/store/apps/details?id=com.nslaboratory.rankru&hl=ja)

このアプリでは、自分の持っている画像を複数選択し、タイトルをつけて、下の図のような画像を簡単に自動作成でき、その画像をSNSでスムーズに共有できます。

例えば、次のような画像が作成できます。
・おすすめ観光スポットの画像
・おすすめグルメの画像を作成
・今期視聴しているアニメのランキング画像
・今月聴いた楽曲のランキング画像
・etc…

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/674933/4e701630-8052-9301-2432-7d867004f5ef.png)