Open5

個人開発用メモ

shuheishuhei

Dart defineを使った環境分けのメモ
https://zenn.dev/riscait/articles/separating-environments-in-flutter#vs-code-の設定例

○ Firebaseプロジェクト作成
devやstgのプロジェクトのバンドルIDやパッケージ名はそれぞれ、com.xxx.アプリ名.dev(stg)で作る。prodは何もつけなくていい。

○ iosにFirebaseを導入する
・Copy Bundle Resourcesにdev、stg、prodフォルダ内に配置したGoogleService-Info.plistが追加されていると、『error: Multiple commands produce ...』が発生するのでCopy Bundle Resources削除する。
・ビルド時、iosフォルダ直下にGoogleService-Info.plistが生成されるので、それをCopy Bundle Resourcesに追加する(記事のコメント欄参照)。追加しないと『Firebase has not been correctly initialized. Have you added the "GoogleService-Info.plist" file to the project? 』が発生する。

shuheishuhei

環境ごとに分けたFirebaseプロジェクトにデプロイする

・firebase initで初期化
・defaultのプロジェクトを指定せず進めていく
・firebase projects:listでプロジェクトのIDを確認する
・.firebasercに環境名と対応するIDをそれぞれ書く
・firebase deploy --project {環境名}で対象のプロジェクトにデプロイ

.firebaserc
{
  "projects": {
    "dev": "開発環境のID",
    "stg": "テスト環境のID",
    "prod": "本番環境のID"
  }
}
shuheishuhei

widthを取得したい時

方法① MediaQueryを使う

final deviceWidth = MediaQuery.of(context).size.width;

方法② LayoutBuilderを使う(親のサイズを取得する)
if(constraints.maxWidth> xxx){} のように使うことが多い

LayoutBuilder(
    builder: (BuildContext context, BoxConstraints constraints) {
      final parentWidth = constraints.maxWidth;
         return ...
    },
  );
shuheishuhei

アプデ申請メモ
●iOS
・Xcodeでバージョンとビルドナンバーを変更し、初回申請同様アップロードする
・App Store Connectから新しいリリースを作成し申請する
●Android
・version codeとversion nameを変更する必要ある。初回リリース時に作成したlocal.propertiesに記載されているものが反映されるが、それを変更するにはpubspec.yamlのversionを変える必要がある
例) version: 1.0.0+1 → version code 1.0.0 version name 1
・初回リリース同様、aabファイルを生成する
・Google Play Consoleの対象のアプリの製品版ページから新しいリリースを作成して申請する