Flutter de アプリ開発〜リリース前にすること〜(iOS編)

先日初めてFlutterでアプリをリリースしてみました。
リリースしたアプリはこちら。

https://apps.apple.com/app/id6468472948

夫婦共働きで、夕飯の当番は僕なのですが、いつも献立に悩んでいました。
振り返ると、
「あのときのあれが食べたい」と言われることが多々あり、
過去の献立が再登場することがあるため、日々作成した料理を記録できるアプリを開発してみました。
アイコンは奥さんが描いてくれました。(本当にありがとう!!!!!!)

この記事では備忘録的に、意外と時間のかかるリリース前作業についてまとめたものです。
※2023年10月時点

リリース前にしたこと

スクリーン上のDEBUGの表示を消す

  • アプリ申請時に必要なスクリーンショットにDEBUGの文字が残っているとリジェクトされるので消しておく。
class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      debugShowCheckedModeBanner: false, //これを追加
      title: 'XXXXXX',
      home: MyHomePage(),
    );
  }
}

Bundle Identifierの編集(iOSの場合)

  • TARGETS→General→IdentityからBundle Identifierを確認。
  • com.exampleから始まっていれば、適切なものへ修正する。

アプリ名の編集(iOSの場合)

  • info.plistのCFBundleNameのの中身を編集する
	<key>CFBundleDisplayName</key>
	<string>物欲の栞</string> //ここ

言語の日本語化

  • デフォルトだとEnglishになっているためストアに公開したとき、言語が「EN」になっている。これを「JA」にするために以下の通り修正。
スクリーンショット 2023-10-14 20.41.33.png

アプリアイコンの設置

  • flutter_launcher_iconsを使用する。1つの画像から複数サイズのアイコンセットを作成してくれる。512×512の画像を用意する。
dev_dependencies:
  flutter_test:
    sdk: flutter
  flutter_lints: ^2.0.0
  flutter_launcher_icons: ^0.10.0

// androidとiOSで同じアイコンを使用する
flutter_icons:       
  android: true
  ios: true
  image_path: "assets/shiori_base_512_512.png"
  adaptive_icon_foreground: "assets/shiori_base_512_512.png"
  adaptive_icon_background: "#FFFFFF"
  remove_alpha_ios: true
  • ターミナルで以下のコマンドを実行
flutter pub run flutter_launcher_icons:main

App Store Connectへ登録

  • +ボタンからアプリを登録
スクリーンショット 2023-10-15 7.06.25.png

「一般」タブの情報を埋める

  • アプリ情報
  • 価格及び配信状況
  • アプリのプライバシー
    ここで、サポートページとプライバシーポリシーを明記したサイトが必要となるが、今回ははてなブログを掲載し審査通過。

スクリーンショットを用意する

  • (必須)iPhone 6.5インチディスプレイ
  • (必須)iPhone 5.5インチディスプレイ
  • (必須)iPad Pro 12.9インチディスプレイ(第6世代、第2世代)
    Simulatorを利用するなら、command + shift + 4→シミュレータ上でスペースキーを押してoptionを押しながら撮影すると影無しでそのままスクショが撮れるので便利。
    上部に残るバーはトリミングで削除すればOK。
    ※端末のスクリーンショットが写っていて、要求されている画像サイズを満たせば中身については自由度が高い。
    今回はkeynoteで作成。

TestFlightへアップロード

製品版も、TestFlightを経由しないと製品版ビルドをアップロードできないようになっているみたい。

テスト後

App Storeタブのビルドに、テストをパスしたビルドをアップロード。
あとは審査を待つのみ。

終わりに

業務でiOSやandroidのアプリをリリースしたことがありましたが、昔のことで意外と手間取ってしまいました。
今回はiOSについてまとめましたが、Android版もリリース済みなので近々公開できればと思います。

Flutter最高!