Configure app signing, update identifiers for store deployment, and localize dashboard tabs

This commit is contained in:
2026-03-01 22:50:33 +01:00
parent ef0abc2f85
commit 77fa21b572
16 changed files with 96 additions and 37 deletions

View File

@@ -1,3 +1,6 @@
import java.util.Properties
import java.io.FileInputStream
plugins {
id("com.android.application")
id("kotlin-android")
@@ -5,6 +8,12 @@ plugins {
id("dev.flutter.flutter-gradle-plugin")
}
val keystoreProperties = Properties()
val keystorePropertiesFile = rootProject.file("key.properties")
if (keystorePropertiesFile.exists()) {
keystoreProperties.load(FileInputStream(keystorePropertiesFile))
}
android {
namespace = "com.savefamily.app"
compileSdk = flutter.compileSdkVersion
@@ -36,9 +45,18 @@ android {
}
}
signingConfigs {
create("release") {
keyAlias = keystoreProperties["keyAlias"] as String?
keyPassword = keystoreProperties["keyPassword"] as String?
storeFile = keystoreProperties["storeFile"]?.let { file(it as String) }
storePassword = keystoreProperties["storePassword"] as String?
}
}
buildTypes {
release {
signingConfig = signingConfigs.getByName("debug")
signingConfig = signingConfigs.getByName("release")
proguardFiles(getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro")
}
debug {
@@ -58,7 +76,7 @@ android {
}
create("staging") {
dimension = "app"
applicationIdSuffix = ".staging"
applicationIdSuffix = ".stag"
resValue("string", "app_name", "SF Staging")
}
create("production") {

View File

@@ -76,12 +76,12 @@
97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
AA0000011234567800000002 /* AntelopRelease.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = AntelopRelease.plist; sourceTree = "<group>"; };
AA0000011234567800000003 /* Runner.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = Runner.entitlements; sourceTree = "<group>"; };
AA4000010000000000000001 /* Info-development.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "Info-development.plist"; sourceTree = "<group>"; };
AA4000010000000000000002 /* Info-staging.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "Info-staging.plist"; sourceTree = "<group>"; };
AA5000010000000000000002 /* AntelopRelease-development.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "AntelopRelease-development.plist"; sourceTree = "<group>"; };
AA5000010000000000000004 /* AntelopRelease-staging.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "AntelopRelease-staging.plist"; sourceTree = "<group>"; };
AA5000010000000000000005 /* Runner-development.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = "Runner-development.entitlements"; sourceTree = "<group>"; };
AA5000010000000000000006 /* Runner-staging.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = "Runner-staging.entitlements"; sourceTree = "<group>"; };
AA4000010000000000000001 /* Info-development.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "Info-development.plist"; sourceTree = "<group>"; };
AA4000010000000000000002 /* Info-staging.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "Info-staging.plist"; sourceTree = "<group>"; };
AAA974F39BB17DD4221F30F5 /* Pods-RunnerTests.debug-staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug-staging.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug-staging.xcconfig"; sourceTree = "<group>"; };
B4AB34F476573EEFF80A6AFD /* Pods-Runner.profile-staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile-staging.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile-staging.xcconfig"; sourceTree = "<group>"; };
B6E39156F3210C2E3A4F7DB3 /* Pods-Runner.release-staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release-staging.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release-staging.xcconfig"; sourceTree = "<group>"; };
@@ -547,7 +547,7 @@
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_ENTITLEMENTS = "Runner/Runner-development.entitlements";
CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
DEVELOPMENT_TEAM = YC6P64GJ93;
DEVELOPMENT_TEAM = KQ73NP6L4Q;
ENABLE_BITCODE = NO;
INFOPLIST_FILE = "Runner/Info-development.plist";
LD_RUNPATH_SEARCH_PATHS = (
@@ -616,7 +616,7 @@
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = AppIcon-development;
ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = "AppIcon-development";
CLANG_ANALYZER_NONNULL = YES;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++";
@@ -673,7 +673,7 @@
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = AppIcon-development;
ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = "AppIcon-development";
CLANG_ANALYZER_NONNULL = YES;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++";
@@ -731,7 +731,7 @@
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_ENTITLEMENTS = "Runner/Runner-development.entitlements";
CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
DEVELOPMENT_TEAM = YC6P64GJ93;
DEVELOPMENT_TEAM = KQ73NP6L4Q;
ENABLE_BITCODE = NO;
INFOPLIST_FILE = "Runner/Info-development.plist";
LD_RUNPATH_SEARCH_PATHS = (
@@ -755,7 +755,7 @@
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_ENTITLEMENTS = "Runner/Runner-development.entitlements";
CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
DEVELOPMENT_TEAM = YC6P64GJ93;
DEVELOPMENT_TEAM = KQ73NP6L4Q;
ENABLE_BITCODE = NO;
INFOPLIST_FILE = "Runner/Info-development.plist";
LD_RUNPATH_SEARCH_PATHS = (
@@ -1104,14 +1104,14 @@
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_ENTITLEMENTS = "Runner/Runner-staging.entitlements";
CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
DEVELOPMENT_TEAM = YC6P64GJ93;
DEVELOPMENT_TEAM = KQ73NP6L4Q;
ENABLE_BITCODE = NO;
INFOPLIST_FILE = "Runner/Info-staging.plist";
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
);
PRODUCT_BUNDLE_IDENTIFIER = com.savefamily.app.staging;
PRODUCT_BUNDLE_IDENTIFIER = com.savefamily.app.stag;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
@@ -1128,7 +1128,7 @@
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements;
CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
DEVELOPMENT_TEAM = YC6P64GJ93;
DEVELOPMENT_TEAM = KQ73NP6L4Q;
ENABLE_BITCODE = NO;
INFOPLIST_FILE = Runner/Info.plist;
LD_RUNPATH_SEARCH_PATHS = (
@@ -1152,14 +1152,14 @@
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_ENTITLEMENTS = "Runner/Runner-staging.entitlements";
CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
DEVELOPMENT_TEAM = YC6P64GJ93;
DEVELOPMENT_TEAM = KQ73NP6L4Q;
ENABLE_BITCODE = NO;
INFOPLIST_FILE = "Runner/Info-staging.plist";
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
);
PRODUCT_BUNDLE_IDENTIFIER = com.savefamily.app.staging;
PRODUCT_BUNDLE_IDENTIFIER = com.savefamily.app.stag;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
SWIFT_VERSION = 5.0;
@@ -1175,7 +1175,7 @@
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements;
CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
DEVELOPMENT_TEAM = YC6P64GJ93;
DEVELOPMENT_TEAM = KQ73NP6L4Q;
ENABLE_BITCODE = NO;
INFOPLIST_FILE = Runner/Info.plist;
LD_RUNPATH_SEARCH_PATHS = (
@@ -1198,14 +1198,14 @@
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_ENTITLEMENTS = "Runner/Runner-staging.entitlements";
CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
DEVELOPMENT_TEAM = YC6P64GJ93;
DEVELOPMENT_TEAM = KQ73NP6L4Q;
ENABLE_BITCODE = NO;
INFOPLIST_FILE = "Runner/Info-staging.plist";
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
);
PRODUCT_BUNDLE_IDENTIFIER = com.savefamily.app.staging;
PRODUCT_BUNDLE_IDENTIFIER = com.savefamily.app.stag;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
SWIFT_VERSION = 5.0;
@@ -1221,7 +1221,7 @@
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements;
CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
DEVELOPMENT_TEAM = YC6P64GJ93;
DEVELOPMENT_TEAM = KQ73NP6L4Q;
ENABLE_BITCODE = NO;
INFOPLIST_FILE = Runner/Info.plist;
LD_RUNPATH_SEARCH_PATHS = (
@@ -1369,7 +1369,7 @@
AA1000010000000000000006 /* Profile-production */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
defaultConfigurationName = "Debug-development";
};
97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */ = {
isa = XCConfigurationList;

View File

@@ -5,7 +5,7 @@
<key>fr.antelop.alertLoggingEnabled</key>
<string>The Antelop SDK is logging.</string>
<key>fr.antelop.applicationGroupIdentifier</key>
<string>group.com.savefamily.app.staging</string>
<string>group.com.savefamily.app.stag</string>
<key>fr.antelop.initialConnectionTimeout</key>
<integer>60</integer>
<key>fr.antelop.application_id</key>

View File

@@ -5,7 +5,7 @@
<key>fr.antelop.alertLoggingEnabled</key>
<string>The Antelop SDK is logging.</string>
<key>fr.antelop.applicationGroupIdentifier</key>
<string>group.com.savefamily.app</string>
<string>group.com.savefamily.app.prod</string>
<key>fr.antelop.initialConnectionTimeout</key>
<integer>60</integer>
<key>fr.antelop.application_id</key>

View File

@@ -49,6 +49,10 @@
<true/>
<key>NSCameraUsageDescription</key>
<string>Necesitamos la cámara para escanear códigos QR</string>
<key>NSLocationWhenInUseUsageDescription</key>
<string>Usamos tu ubicación para verificar la seguridad de las transacciones.</string>
<key>NSLocationAlwaysAndWhenInUseUsageDescription</key>
<string>Usamos tu ubicación para verificar la seguridad de las transacciones.</string>
<key>UIViewControllerBasedStatusBarAppearance</key>
<false/>
<key>NSFaceIDUsageDescription</key>

View File

@@ -4,7 +4,7 @@
<dict>
<key>com.apple.security.application-groups</key>
<array>
<string>group.com.savefamily.app.staging</string>
<string>group.com.savefamily.app.stag</string>
</array>
</dict>
</plist>

View File

@@ -4,7 +4,7 @@
<dict>
<key>com.apple.security.application-groups</key>
<array>
<string>group.com.savefamily.app</string>
<string>group.com.savefamily.app.prod</string>
</array>
</dict>
</plist>