feat: configure Firebase and signing for multiple environments in mobile app

This commit is contained in:
Achintha Isuru
2025-11-18 17:52:23 -05:00
parent ef35554635
commit c6ccd1e2e3
16 changed files with 443 additions and 59 deletions

141
build.gradle Normal file
View File

@@ -0,0 +1,141 @@
plugins {
id "com.android.application"
// START: FlutterFire Configuration
id 'com.google.gms.google-services'
id 'com.google.firebase.crashlytics'
// END: FlutterFire Configuration
id "kotlin-android"
// The Flutter Gradle Plugin must be applied after the Android and Kotlin Gradle plugins.
id "dev.flutter.flutter-gradle-plugin"
}
android {
namespace = "com.example.troywallet"
compileSdk = 36
ndkVersion = "25.1.8937393"
//ndkVersion = flutter.ndkVersion
compileOptions {
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8
coreLibraryDesugaringEnabled true
}
kotlinOptions {
jvmTarget = JavaVersion.VERSION_1_8
}
defaultConfig {
// TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
applicationId = "com.example.troywallet"
namespace("com.example.troywallet")
minSdk = 29
targetSdk = 35
versionCode = flutter.versionCode
versionName = flutter.versionName
multiDexEnabled true
}
// KeyStore //////////////////////////////////////////////////
// - kast.keystore..alias android..pw=android..pw=android
def keystorePropertiesFileNameDev = 'kast_key_dev.properties'
def keystorePropertiesDev = new Properties()
keystorePropertiesDev.load(new FileInputStream(rootProject.file(keystorePropertiesFileNameDev)))
def keystorePropertiesFileNameUat = 'kast_key_uat.properties'
def keystorePropertiesUat = new Properties()
keystorePropertiesUat.load(new FileInputStream(rootProject.file(keystorePropertiesFileNameUat)))
def keystorePropertiesFileNameStaging = 'kast_key_staging.properties'
def keystorePropertiesStaging = new Properties()
keystorePropertiesStaging.load(new FileInputStream(rootProject.file(keystorePropertiesFileNameStaging)))
def keystorePropertiesFileNameProd = 'kast_key_prod.properties'
def keystorePropertiesProd = new Properties()
keystorePropertiesProd.load(new FileInputStream(rootProject.file(keystorePropertiesFileNameProd)))
signingConfigs {
configDev {
keyAlias keystorePropertiesDev['keyAlias']
keyPassword keystorePropertiesDev['keyPassword']
storeFile file('../kast_android_dev.jks') //keystorePropertiesSit['storeFile']
storePassword keystorePropertiesDev['storePassword']
}
configUat {
keyAlias keystorePropertiesUat['keyAlias']
keyPassword keystorePropertiesUat['keyPassword']
storeFile file('../kast_android_uat.jks') //keystorePropertiesPat['storeFile']
storePassword keystorePropertiesUat['storePassword']
}
configStaging {
keyAlias keystorePropertiesStaging['keyAlias']
keyPassword keystorePropertiesStaging['keyPassword']
storeFile file('../kast_android_staging.jks') //keystorePropertiesPat['storeFile']
storePassword keystorePropertiesStaging['storePassword']
}
configProd {
keyAlias keystorePropertiesProd['keyAlias']
keyPassword keystorePropertiesProd['keyPassword']
storeFile file('../kast_android_prod.jks')
storePassword keystorePropertiesProd['storePassword']
}
}
flavorDimensions "default"
productFlavors {
dev {
dimension "default"
applicationId "dev.kastcard.com"
resValue "string", "app_name", "KAST DEV"
resValue "string", "deeplink_prefix", "/dls"
resValue "drawable", "ic_launcher", "@mipmap/ic_launcher_dev"
signingConfig signingConfigs.configDev
}
uat {
dimension "default"
applicationId "uat.kastcard.com"
resValue "string", "app_name", "KAST UAT"
resValue "string", "deeplink_prefix", "/dlp"
resValue "drawable", "ic_launcher", "@mipmap/ic_launcher_uat"
signingConfig signingConfigs.configUat
}
staging {
dimension "default"
applicationId "stg.kastcard.com"
resValue "string", "app_name", "KAST Staging"
resValue "string", "deeplink_prefix", "/dlp"
resValue "drawable", "ic_launcher", "@mipmap/ic_launcher_staging"
signingConfig signingConfigs.configStaging
}
prod {
dimension "default"
applicationId "com.kastfinance.app"
resValue "string", "app_name", "KAST"
resValue "string", "deeplink_prefix", "/dlp"
resValue "drawable", "ic_launcher", "@mipmap/ic_launcher_prod"
signingConfig signingConfigs.configProd
}
}
buildTypes {
release {
shrinkResources false
minifyEnabled false
}
}
}
flutter {
source = "../.."
}
dependencies {
implementation "com.sumsub.sns:idensic-mobile-sdk-videoident:1.33.1"
coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:1.2.2'
implementation(files("libs/mdisdk-release-1.2.54.aar"))
}

View File

@@ -35,11 +35,47 @@ android {
flavorDimensions "release-type"
def keystorePropertiesFileNameDev = "key_dev.properties"
def keystorePropertiesDev = new Properties()
keystorePropertiesDev.load(new FileInputStream(rootProject.file(keystorePropertiesFileNameDev)))
def keystorePropertiesFileNameStaging = "key_staging.properties"
def keystorePropertiesStaging = new Properties()
keystorePropertiesStaging.load(new FileInputStream(rootProject.file(keystorePropertiesFileNameStaging)))
def keystorePropertiesFileNameProd = "key_prod.properties"
def keystorePropertiesProd = new Properties()
keystorePropertiesProd.load(new FileInputStream(rootProject.file(keystorePropertiesFileNameProd)))
signingConfigs {
configDev {
keyAlias keystorePropertiesDev['keyAlias']
keyPassword keystorePropertiesDev['keyPassword']
storeFile file('../key_dev.jks')
storePassword keystorePropertiesDev['storePassword']
}
configStaging {
keyAlias keystorePropertiesStaging['keyAlias']
keyPassword keystorePropertiesStaging['keyPassword']
storeFile file('../key_staging.jks')
storePassword keystorePropertiesStaging['storePassword']
}
configProd {
keyAlias keystorePropertiesProd['keyAlias']
keyPassword keystorePropertiesProd['keyPassword']
storeFile file('../key_staging.jks')
storePassword keystorePropertiesProd['storePassword']
}
}
productFlavors {
dev {
dimension "release-type"
applicationIdSuffix ".dev"
versionNameSuffix "-dev"
signingConfig signingConfigs.configDev
manifestPlaceholders = [
appLabel: "Krow Business dev",
appIcon: "@mipmap/ic_launcher_dev"
@@ -50,6 +86,7 @@ android {
dimension "release-type"
applicationIdSuffix ".staging"
versionNameSuffix "-staging"
signingConfig signingConfigs.configStaging
manifestPlaceholders = [
appLabel: "Krow Business staging",
appIcon: "@mipmap/ic_launcher_dev"
@@ -58,27 +95,13 @@ android {
prod {
dimension "release-type"
signingConfig signingConfigs.configProd
manifestPlaceholders = [
appLabel: "Krow Business",
appIcon: "@mipmap/ic_launcher"
]
}
}
signingConfigs {
release {
keyAlias = keystoreProperties['keyAliasClient']
keyPassword = keystoreProperties['keyPassword']
storeFile = keystoreProperties['storeFile'] ? file(keystoreProperties['storeFile']) : null
storePassword = keystoreProperties['storePassword']
}
}
buildTypes {
release {
signingConfig = signingConfigs.release
}
}
}
flutter {

View File

@@ -0,0 +1,4 @@
storePassword=krowdev
keyPassword=krowdev
keyAlias=staff-dev
storeFile=kast_android_dev.jks

View File

@@ -0,0 +1,4 @@
storePassword=krowstaging
keyPassword=krowstaging
keyAlias=staff-staging
storeFile=key_staging.jks

View File

@@ -0,0 +1,4 @@
storePassword=krowstaging
keyPassword=krowstaging
keyAlias=staff-staging
storeFile=key_staging.jks

View File

@@ -1 +1,64 @@
{"flutter":{"platforms":{"android":{"default":{"projectId":"krow-staging","appId":"1:14482748607:android:85b147490ff76b6924820a","fileOutput":"android/app/google-services.json"},"buildConfigurations":{"src/dev":{"projectId":"krow-workforce-dev","appId":"1:933560802882:android:edcddb83ea4bbb517757db","fileOutput":"android/app/src/dev/google-services.json"},"src/staging":{"projectId":"krow-workforce-staging","appId":"1:1032971403708:android:d35f6d13a9e03bcb356bb9","fileOutput":"android/app/src/staging/google-services.json"}}},"ios":{"default":{"projectId":"krow-staging","appId":"1:14482748607:ios:229a7ce2d64cb09f24820a","uploadDebugSymbols":false,"fileOutput":"ios/Runner/GoogleService-Info.plist"},"targets":{"Runner":{"projectId":"krow-workforce-staging","appId":"1:1032971403708:ios:b1a21a7337a268b3356bb9","uploadDebugSymbols":false,"fileOutput":"ios/flavors/staging/GoogleService-Info.plist"}}},"dart":{"lib/firebase_options.dart":{"projectId":"krow-staging","configurations":{"android":"1:14482748607:android:85b147490ff76b6924820a","ios":"1:14482748607:ios:229a7ce2d64cb09f24820a"}},"lib/firebase_options_dev.dart":{"projectId":"krow-workforce-dev","configurations":{"android":"1:933560802882:android:edcddb83ea4bbb517757db","ios":"1:933560802882:ios:7f0632ecbeff8f027757db"}},"lib/firebase_options_staging.dart":{"projectId":"krow-workforce-staging","configurations":{"android":"1:1032971403708:android:d35f6d13a9e03bcb356bb9","ios":"1:1032971403708:ios:b1a21a7337a268b3356bb9"}}}}}}
{
"flutter": {
"platforms": {
"android": {
"default": {
"projectId": "krow-staging",
"appId": "1:14482748607:android:85b147490ff76b6924820a",
"fileOutput": "android/app/google-services.json"
},
"buildConfigurations": {
"src/dev": {
"projectId": "krow-workforce-dev",
"appId": "1:933560802882:android:edcddb83ea4bbb517757db",
"fileOutput": "android/app/src/dev/google-services.json"
},
"src/staging": {
"projectId": "krow-workforce-staging",
"appId": "1:1032971403708:android:d35f6d13a9e03bcb356bb9",
"fileOutput": "android/app/src/staging/google-services.json"
}
}
},
"ios": {
"default": {
"projectId": "krow-staging",
"appId": "1:14482748607:ios:229a7ce2d64cb09f24820a",
"uploadDebugSymbols": false,
"fileOutput": "ios/Runner/GoogleService-Info.plist"
},
"targets": {
"Runner": {
"projectId": "krow-workforce-staging",
"appId": "1:1032971403708:ios:b1a21a7337a268b3356bb9",
"uploadDebugSymbols": false,
"fileOutput": "ios/flavors/staging/GoogleService-Info.plist"
}
}
},
"dart": {
"lib/firebase_options.dart": {
"projectId": "krow-staging",
"configurations": {
"android": "1:14482748607:android:85b147490ff76b6924820a",
"ios": "1:14482748607:ios:229a7ce2d64cb09f24820a"
}
},
"lib/firebase_options_dev.dart": {
"projectId": "krow-workforce-dev",
"configurations": {
"android": "1:933560802882:android:edcddb83ea4bbb517757db",
"ios": "1:933560802882:ios:7f0632ecbeff8f027757db"
}
},
"lib/firebase_options_staging.dart": {
"projectId": "krow-workforce-staging",
"configurations": {
"android": "1:1032971403708:android:d35f6d13a9e03bcb356bb9",
"ios": "1:1032971403708:ios:b1a21a7337a268b3356bb9"
}
}
}
}
}
}

View File

@@ -1,12 +1,12 @@
plugins {
id "com.android.application"
id 'com.google.gms.google-services'
id "com.google.gms.google-services"
id "kotlin-android"
id "dev.flutter.flutter-gradle-plugin"
}
def keystoreProperties = new Properties()
def keystorePropertiesFile = rootProject.file('key.properties')
def keystorePropertiesFile = rootProject.file("key.properties")
if (keystorePropertiesFile.exists()) {
keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
}
@@ -33,13 +33,49 @@ android {
versionName = flutter.versionName
}
def keystorePropertiesFileNameDev = "key_dev.properties"
def keystorePropertiesDev = new Properties()
keystorePropertiesDev.load(new FileInputStream(rootProject.file(keystorePropertiesFileNameDev)))
def keystorePropertiesFileNameStaging = "key_staging.properties"
def keystorePropertiesStaging = new Properties()
keystorePropertiesStaging.load(new FileInputStream(rootProject.file(keystorePropertiesFileNameStaging)))
def keystorePropertiesFileNameProd = "key_prod.properties"
def keystorePropertiesProd = new Properties()
keystorePropertiesProd.load(new FileInputStream(rootProject.file(keystorePropertiesFileNameProd)))
flavorDimensions "release-type"
signingConfigs {
configDev {
keyAlias keystorePropertiesDev['keyAlias']
keyPassword keystorePropertiesDev['keyPassword']
storeFile file('../key_dev.jks')
storePassword keystorePropertiesDev['storePassword']
}
configStaging {
keyAlias keystorePropertiesStaging['keyAlias']
keyPassword keystorePropertiesStaging['keyPassword']
storeFile file('../key_staging.jks')
storePassword keystorePropertiesStaging['storePassword']
}
configProd {
keyAlias keystorePropertiesProd['keyAlias']
keyPassword keystorePropertiesProd['keyPassword']
storeFile file('../key_staging.jks')
storePassword keystorePropertiesProd['storePassword']
}
}
productFlavors {
dev {
dimension "release-type"
applicationIdSuffix ".dev"
versionNameSuffix "-dev"
signingConfig signingConfigs.configDev
manifestPlaceholders = [
appLabel: "Krow Staff dev",
appIcon : "@mipmap/ic_launcher_dev"
@@ -50,6 +86,7 @@ android {
dimension "release-type"
applicationIdSuffix ".staging"
versionNameSuffix "-staging"
signingConfig signingConfigs.configStaging
manifestPlaceholders = [
appLabel: "Krow Staff staging",
appIcon : "@mipmap/ic_launcher_dev"
@@ -58,27 +95,13 @@ android {
prod {
dimension "release-type"
signingConfig signingConfigs.configProd
manifestPlaceholders = [
appLabel: "Krow Staff",
appIcon : "@mipmap/ic_launcher"
]
}
}
signingConfigs {
release {
keyAlias = keystoreProperties['keyAlias']
keyPassword = keystoreProperties['keyPassword']
storeFile = keystoreProperties['storeFile'] ? file(keystoreProperties['storeFile']) : null
storePassword = keystoreProperties['storePassword']
}
}
buildTypes {
release {
signingConfig = signingConfigs.release
}
}
}
flutter {

View File

@@ -24,6 +24,25 @@
}
}
},
{
"client_info": {
"mobilesdk_app_id": "1:1032971403708:android:6e5031c203f01cc2356bb9",
"android_client_info": {
"package_name": "com.krow.app.staff.staging"
}
},
"oauth_client": [],
"api_key": [
{
"current_key": "AIzaSyAZ4dOatvf3ZBt4qnbSlIvJ51bblHaRsRw"
}
],
"services": {
"appinvite_service": {
"other_platform_oauth_client": []
}
}
},
{
"client_info": {
"mobilesdk_app_id": "1:1032971403708:android:87edb39679f806ab356bb9",

View File

@@ -0,0 +1,4 @@
storePassword=krowdev
keyPassword=krowdev
keyAlias=staff-dev
storeFile=kast_android_dev.jks

View File

@@ -0,0 +1,4 @@
storePassword=krowstaging
keyPassword=krowstaging
keyAlias=staff-staging
storeFile=key_staging.jks

View File

@@ -0,0 +1,4 @@
storePassword=krowstaging
keyPassword=krowstaging
keyAlias=staff-staging
storeFile=key_staging.jks

View File

@@ -3,7 +3,7 @@
set -e
#dart run build_runner build --delete-conflicting-outputs
#flutter build appbundle --flavor dev --target-platform android-arm,android-arm64,android-x64 -t lib/main_dev.dart
flutter build appbundle --flavor dev --target-platform android-arm,android-arm64,android-x64 -t lib/main_dev.dart
flutter build ipa --flavor dev -t lib/main_dev.dart
cd android

View File

@@ -1 +1,92 @@
{"flutter":{"platforms":{"android":{"default":{"projectId":"krow-workforce-dev","appId":"1:933560802882:android:f4587798877cbb917757db","fileOutput":"android/app/google-services.json"},"buildConfigurations":{"src/dev":{"projectId":"krow-workforce-dev","appId":"1:933560802882:android:d49b8c0f4d19e95e7757db","fileOutput":"android/app/src/dev/google-services.json"},"src/staging":{"projectId":"krow-workforce-staging","appId":"1:1032971403708:android:87edb39679f806ab356bb9","fileOutput":"android/app/src/staging/google-services.json"},"src/prod":{"projectId":"krow-workforce-production","appId":"1:705380165824:android:e028f36e679701cbf1e525","fileOutput":"android/app/src/prod/google-services.json"}}},"ios":{"default":{"projectId":"krow-workforce-dev","appId":"1:933560802882:ios:07becdd41ac6ca627757db","uploadDebugSymbols":false,"fileOutput":"ios/Runner/GoogleService-Info.plist"},"buildConfigurations":{"Debug-dev":{"projectId":"krow-workforce-dev","appId":"1:933560802882:ios:7264452527da24537757db","uploadDebugSymbols":false,"fileOutput":"ios/flavors/dev/GoogleService-Info.plist"},"Profile-dev":{"projectId":"krow-workforce-dev","appId":"1:933560802882:ios:07becdd41ac6ca627757db","uploadDebugSymbols":false,"fileOutput":"ios/flavors/dev/GoogleService-Info.plist"},"Release-dev":{"projectId":"krow-workforce-dev","appId":"1:933560802882:ios:07becdd41ac6ca627757db","uploadDebugSymbols":false,"fileOutput":"ios/flavors/dev/GoogleService-Info.plist"},"Debug-staging":{"projectId":"krow-workforce-staging","appId":"1:1032971403708:ios:1d9b09307e6f3983356bb9","uploadDebugSymbols":false,"fileOutput":"ios/flavors/staging/GoogleService-Info.plist"},"Profile-staging":{"projectId":"krow-workforce-staging","appId":"1:1032971403708:ios:1d9b09307e6f3983356bb9","uploadDebugSymbols":false,"fileOutput":"ios/flavors/staging/GoogleService-Info.plist"},"Release-staging":{"projectId":"krow-workforce-staging","appId":"1:1032971403708:ios:1d9b09307e6f3983356bb9","uploadDebugSymbols":false,"fileOutput":"ios/flavors/staging/GoogleService-Info.plist"}}},"dart":{"lib/firebase_options_dev.dart":{"projectId":"krow-workforce-dev","configurations":{"android":"1:933560802882:android:d49b8c0f4d19e95e7757db","ios":"1:933560802882:ios:7264452527da24537757db"}},"lib/firebase_options_staging.dart":{"projectId":"krow-workforce-staging","configurations":{"android":"1:1032971403708:android:87edb39679f806ab356bb9","ios":"1:1032971403708:ios:1d9b09307e6f3983356bb9"}}}}}}
{
"flutter": {
"platforms": {
"android": {
"default": {
"projectId": "krow-workforce-dev",
"appId": "1:933560802882:android:f4587798877cbb917757db",
"fileOutput": "android/app/google-services.json"
},
"buildConfigurations": {
"src/dev": {
"projectId": "krow-workforce-dev",
"appId": "1:933560802882:android:d49b8c0f4d19e95e7757db",
"fileOutput": "android/app/src/dev/google-services.json"
},
"src/staging": {
"projectId": "krow-workforce-staging",
"appId": "1:1032971403708:android:6e5031c203f01cc2356bb9",
"fileOutput": "android/app/src/staging/google-services.json"
},
"src/prod": {
"projectId": "krow-workforce-production",
"appId": "1:705380165824:android:e028f36e679701cbf1e525",
"fileOutput": "android/app/src/prod/google-services.json"
}
}
},
"ios": {
"default": {
"projectId": "krow-workforce-dev",
"appId": "1:933560802882:ios:7264452527da24537757db",
"uploadDebugSymbols": false,
"fileOutput": "ios/flavors/dev/GoogleService-Info.plist"
},
"buildConfigurations": {
"Debug-dev": {
"projectId": "krow-workforce-dev",
"appId": "1:933560802882:ios:7264452527da24537757db",
"uploadDebugSymbols": false,
"fileOutput": "ios/flavors/dev/GoogleService-Info.plist"
},
"Profile-dev": {
"projectId": "krow-workforce-dev",
"appId": "1:933560802882:ios:7264452527da24537757db",
"uploadDebugSymbols": false,
"fileOutput": "ios/flavors/dev/GoogleService-Info.plist"
},
"Release-dev": {
"projectId": "krow-workforce-dev",
"appId": "1:933560802882:ios:7264452527da24537757db",
"uploadDebugSymbols": false,
"fileOutput": "ios/flavors/dev/GoogleService-Info.plist"
},
"Debug-staging": {
"projectId": "krow-workforce-staging",
"appId": "1:1032971403708:ios:134753083678e855356bb9",
"uploadDebugSymbols": false,
"fileOutput": "ios/flavors/staging/GoogleService-Info.plist"
},
"Profile-staging": {
"projectId": "krow-workforce-staging",
"appId": "1:1032971403708:ios:134753083678e855356bb9",
"uploadDebugSymbols": false,
"fileOutput": "ios/flavors/staging/GoogleService-Info.plist"
},
"Release-staging": {
"projectId": "krow-workforce-staging",
"appId": "1:1032971403708:ios:134753083678e855356bb9",
"uploadDebugSymbols": false,
"fileOutput": "ios/flavors/staging/GoogleService-Info.plist"
}
}
},
"dart": {
"lib/firebase_options_dev.dart": {
"projectId": "krow-workforce-dev",
"configurations": {
"android": "1:933560802882:android:d49b8c0f4d19e95e7757db",
"ios": "1:933560802882:ios:7264452527da24537757db"
}
},
"lib/firebase_options_staging.dart": {
"projectId": "krow-workforce-staging",
"configurations": {
"android": "1:1032971403708:android:6e5031c203f01cc2356bb9",
"ios": "1:1032971403708:ios:134753083678e855356bb9"
}
}
}
}
}
}

View File

@@ -249,7 +249,7 @@
3B06AD1E1E4923F5004D2608 /* Thin Binary */,
924B93AB74D97EF4B42824EC /* [CP] Embed Pods Frameworks */,
8A3E049698DB74713226DAC2 /* [CP] Copy Pods Resources */,
9FB2BFDDFD4635E632456623 /* FlutterFire: "flutterfire bundle-service-file" */,
2D4EFA6B14F5C6291F0C6FED /* FlutterFire: "flutterfire bundle-service-file" */,
);
buildRules = (
);
@@ -322,6 +322,24 @@
/* End PBXResourcesBuildPhase section */
/* Begin PBXShellScriptBuildPhase section */
2D4EFA6B14F5C6291F0C6FED /* FlutterFire: "flutterfire bundle-service-file" */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputFileListPaths = (
);
inputPaths = (
);
name = "FlutterFire: \"flutterfire bundle-service-file\"";
outputFileListPaths = (
);
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "\n#!/bin/bash\nPATH=\"${PATH}:$FLUTTER_ROOT/bin:${PUB_CACHE}/bin:$HOME/.pub-cache/bin\"\nflutterfire bundle-service-file --plist-destination=\"${BUILT_PRODUCTS_DIR}/${PRODUCT_NAME}.app\" --build-configuration=${CONFIGURATION} --platform=ios --apple-project-path=\"${SRCROOT}\"\n";
};
3B06AD1E1E4923F5004D2608 /* Thin Binary */ = {
isa = PBXShellScriptBuildPhase;
alwaysOutOfDate = 1;
@@ -457,24 +475,6 @@
shellPath = /bin/sh;
shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build\n";
};
9FB2BFDDFD4635E632456623 /* FlutterFire: "flutterfire bundle-service-file" */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputFileListPaths = (
);
inputPaths = (
);
name = "FlutterFire: \"flutterfire bundle-service-file\"";
outputFileListPaths = (
);
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "\n#!/bin/bash\nPATH=\"${PATH}:$FLUTTER_ROOT/bin:${PUB_CACHE}/bin:$HOME/.pub-cache/bin\"\nflutterfire bundle-service-file --plist-destination=\"${BUILT_PRODUCTS_DIR}/${PRODUCT_NAME}.app\" --build-configuration=${CONFIGURATION} --platform=ios --apple-project-path=\"${SRCROOT}\"\n";
};
/* End PBXShellScriptBuildPhase section */
/* Begin PBXSourcesBuildPhase section */

View File

@@ -9,7 +9,7 @@
<key>PLIST_VERSION</key>
<string>1</string>
<key>BUNDLE_ID</key>
<string>com.krow.app.staging</string>
<string>com.krow.app.staff.staging</string>
<key>PROJECT_ID</key>
<string>krow-workforce-staging</string>
<key>STORAGE_BUCKET</key>
@@ -25,6 +25,6 @@
<key>IS_SIGNIN_ENABLED</key>
<true></true>
<key>GOOGLE_APP_ID</key>
<string>1:1032971403708:ios:1d9b09307e6f3983356bb9</string>
<string>1:1032971403708:ios:134753083678e855356bb9</string>
</dict>
</plist>

View File

@@ -51,7 +51,7 @@ class DefaultFirebaseOptions {
static const FirebaseOptions android = FirebaseOptions(
apiKey: 'AIzaSyAZ4dOatvf3ZBt4qnbSlIvJ51bblHaRsRw',
appId: '1:1032971403708:android:87edb39679f806ab356bb9',
appId: '1:1032971403708:android:6e5031c203f01cc2356bb9',
messagingSenderId: '1032971403708',
projectId: 'krow-workforce-staging',
storageBucket: 'krow-workforce-staging.firebasestorage.app',
@@ -59,11 +59,11 @@ class DefaultFirebaseOptions {
static const FirebaseOptions ios = FirebaseOptions(
apiKey: 'AIzaSyCgTXI3QhbEK3r4J5y7ek_6AxqhmR99QjY',
appId: '1:1032971403708:ios:1d9b09307e6f3983356bb9',
appId: '1:1032971403708:ios:134753083678e855356bb9',
messagingSenderId: '1032971403708',
projectId: 'krow-workforce-staging',
storageBucket: 'krow-workforce-staging.firebasestorage.app',
iosBundleId: 'com.krow.app.staging',
iosBundleId: 'com.krow.app.staff.staging',
);
}