Open1

flutter秘伝のタレ

akaboshinitakaboshinit

--dart-define-from-file
これを使うと環境分けが簡単になる

https://zenn.dev/altiveinc/articles/separating-environments-in-flutter
https://zenn.dev/blendthink/articles/392607db0a65dd
この記事がシンプルで分かりやすい

ただこの記事にある"bundleIdentifier"とかの変数は予約語じゃないので
もっと簡略化して書ける

// flavor/dev.json
{
    "flavor": "dev",
    "appId": "com.akaboshinit.myapp.dev",
    "appName": "d-myapp"
}

// flavor/prd.json
{
    "flavor": "prd",
    "appId": "com.akaboshinit.myapp",
    "appName": "myapp"
}

補足として、appNameの中はどんな形式でいける

上の記事の後に、さらにこんな感じで追加する

// android/app/build.gradle
defaultConfig {
        applicationId appId
-       applicationIdSuffix appIdSuffix
        minSdkVersion flutter.minSdkVersion
        targetSdkVersion flutter.targetSdkVersion
        versionCode flutterVersionCode.toInteger()
        versionName flutterVersionName
        resValue "string", "app_name", appName
}

// ios/Runner/Info.plist
     <key>CFBundleIdentifier</key>
-    <string>$(bundleIdentifier)</string>
+    <string>$(appId)</string>