diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index 7f6e597f3..dbccad8d2 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -24,10 +24,10 @@ jobs:
echo "${{ secrets.GOOGLE_APPLICATION_CREDENTIALS_JSON_FILE_BASE64 }}" | base64 -d > gcloud-service-key.json
GOOGLE_APPLICATION_CREDENTIALS=gcloud-service-key.json \
flutterfire configure \
- --project save-the-potato \
- --android-app-id=dev.app2pack.savethepotato \
- --ios-bundle-id=dev.app2pack.savethepotato \
- --platforms=android,ios \
+ --project fl-chart \
+ --android-app-id=dev.flchart.app \
+ --ios-bundle-id=dev.flchart.app \
+ --platforms=android,ios,macos,web \
> /dev/null 2>&1
- name: Setup Flutter
working-directory: ./example
diff --git a/example/.gitignore b/example/.gitignore
index 865593743..9cd0170b1 100644
--- a/example/.gitignore
+++ b/example/.gitignore
@@ -74,3 +74,11 @@ pubspec.lock
!**/ios/**/default.pbxuser
!**/ios/**/default.perspectivev3
!/packages/flutter_tools/test/data/dart_dependencies_test/**/.packages
+
+# Firebase related files
+android/app/google-services.json
+ios/firebase_app_id_file.json
+ios/Runner/GoogleService-Info.plist
+lib/firebase_options.dart
+macos/Runner/GoogleService-Info.plist
+macos/firebase_app_id_file.json
\ No newline at end of file
diff --git a/example/android/app/build.gradle b/example/android/app/build.gradle
index 18a754412..944741c7e 100644
--- a/example/android/app/build.gradle
+++ b/example/android/app/build.gradle
@@ -22,6 +22,9 @@ if (flutterVersionName == null) {
}
apply plugin: 'com.android.application'
+// START: FlutterFire Configuration
+apply plugin: 'com.google.gms.google-services'
+// END: FlutterFire Configuration
apply plugin: 'kotlin-android'
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
diff --git a/example/android/build.gradle b/example/android/build.gradle
index ea855b667..ee7381e7f 100644
--- a/example/android/build.gradle
+++ b/example/android/build.gradle
@@ -7,6 +7,9 @@ buildscript {
dependencies {
classpath 'com.android.tools.build:gradle:7.1.2'
+ // START: FlutterFire Configuration
+ classpath 'com.google.gms:google-services:4.3.10'
+ // END: FlutterFire Configuration
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
}
}
diff --git a/example/ios/Flutter/AppFrameworkInfo.plist b/example/ios/Flutter/AppFrameworkInfo.plist
index 9625e105d..7c5696400 100644
--- a/example/ios/Flutter/AppFrameworkInfo.plist
+++ b/example/ios/Flutter/AppFrameworkInfo.plist
@@ -21,6 +21,6 @@
CFBundleVersion
1.0
MinimumOSVersion
- 11.0
+ 12.0
diff --git a/example/ios/Podfile b/example/ios/Podfile
index 88359b225..279576f38 100644
--- a/example/ios/Podfile
+++ b/example/ios/Podfile
@@ -1,5 +1,5 @@
# Uncomment this line to define a global platform for your project
-# platform :ios, '11.0'
+# platform :ios, '12.0'
# CocoaPods analytics sends network stats synchronously affecting flutter build latency.
ENV['COCOAPODS_DISABLE_STATS'] = 'true'
diff --git a/example/ios/Podfile.lock b/example/ios/Podfile.lock
index 08e21c21c..52fd46305 100644
--- a/example/ios/Podfile.lock
+++ b/example/ios/Podfile.lock
@@ -1,20 +1,48 @@
PODS:
+ - Firebase/CoreOnly (10.18.0):
+ - FirebaseCore (= 10.18.0)
+ - firebase_core (2.24.2):
+ - Firebase/CoreOnly (= 10.18.0)
+ - Flutter
+ - FirebaseCore (10.18.0):
+ - FirebaseCoreInternal (~> 10.0)
+ - GoogleUtilities/Environment (~> 7.12)
+ - GoogleUtilities/Logger (~> 7.12)
+ - FirebaseCoreInternal (10.20.0):
+ - "GoogleUtilities/NSData+zlib (~> 7.8)"
- Flutter (1.0.0)
+ - GoogleUtilities/Environment (7.12.0):
+ - PromisesObjC (< 3.0, >= 1.2)
+ - GoogleUtilities/Logger (7.12.0):
+ - GoogleUtilities/Environment
+ - "GoogleUtilities/NSData+zlib (7.12.0)"
- package_info_plus (0.4.5):
- Flutter
- path_provider_foundation (0.0.1):
- Flutter
- FlutterMacOS
+ - PromisesObjC (2.3.1)
- url_launcher_ios (0.0.1):
- Flutter
DEPENDENCIES:
+ - firebase_core (from `.symlinks/plugins/firebase_core/ios`)
- Flutter (from `Flutter`)
- package_info_plus (from `.symlinks/plugins/package_info_plus/ios`)
- path_provider_foundation (from `.symlinks/plugins/path_provider_foundation/darwin`)
- url_launcher_ios (from `.symlinks/plugins/url_launcher_ios/ios`)
+SPEC REPOS:
+ trunk:
+ - Firebase
+ - FirebaseCore
+ - FirebaseCoreInternal
+ - GoogleUtilities
+ - PromisesObjC
+
EXTERNAL SOURCES:
+ firebase_core:
+ :path: ".symlinks/plugins/firebase_core/ios"
Flutter:
:path: Flutter
package_info_plus:
@@ -25,11 +53,17 @@ EXTERNAL SOURCES:
:path: ".symlinks/plugins/url_launcher_ios/ios"
SPEC CHECKSUMS:
- Flutter: f04841e97a9d0b0a8025694d0796dd46242b2854
+ Firebase: 414ad272f8d02dfbf12662a9d43f4bba9bec2a06
+ firebase_core: 0af4a2b24f62071f9bf283691c0ee41556dcb3f5
+ FirebaseCore: 2322423314d92f946219c8791674d2f3345b598f
+ FirebaseCoreInternal: efeeb171ac02d623bdaefe121539939821e10811
+ Flutter: e0871f40cf51350855a761d2e70bf5af5b9b5de7
+ GoogleUtilities: 0759d1a57ebb953965c2dfe0ba4c82e95ccc2e34
package_info_plus: 115f4ad11e0698c8c1c5d8a689390df880f47e85
path_provider_foundation: 29f094ae23ebbca9d3d0cec13889cd9060c0e943
+ PromisesObjC: c50d2056b5253dadbd6c2bea79b0674bd5a52fa4
url_launcher_ios: bf5ce03e0e2088bad9cc378ea97fa0ed5b49673b
-PODFILE CHECKSUM: ef19549a9bc3046e7bb7d2fab4d021637c0c58a3
+PODFILE CHECKSUM: c4c93c5f6502fe2754f48404d3594bf779584011
COCOAPODS: 1.14.3
diff --git a/example/ios/Runner.xcodeproj/project.pbxproj b/example/ios/Runner.xcodeproj/project.pbxproj
index ea9857a83..e49e5d0b1 100644
--- a/example/ios/Runner.xcodeproj/project.pbxproj
+++ b/example/ios/Runner.xcodeproj/project.pbxproj
@@ -14,6 +14,7 @@
97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; };
97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; };
97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; };
+ B7BB3A8DCD366BF862244607 /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 828A83B9E537ADC43F8A4B45 /* GoogleService-Info.plist */; };
/* End PBXBuildFile section */
/* Begin PBXCopyFilesBuildPhase section */
@@ -38,6 +39,7 @@
74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = ""; };
74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; };
7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; };
+ 828A83B9E537ADC43F8A4B45 /* GoogleService-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; name = "GoogleService-Info.plist"; path = "Runner/GoogleService-Info.plist"; sourceTree = ""; };
9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = ""; };
9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = ""; };
97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; };
@@ -98,6 +100,7 @@
97C146EF1CF9000F007C117D /* Products */,
87E9D592125921BB4FA5096E /* Pods */,
387A47388B1D7AAF78141AE7 /* Frameworks */,
+ 828A83B9E537ADC43F8A4B45 /* GoogleService-Info.plist */,
);
sourceTree = "";
};
@@ -191,6 +194,7 @@
3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */,
97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */,
97C146FC1CF9000F007C117D /* Main.storyboard in Resources */,
+ B7BB3A8DCD366BF862244607 /* GoogleService-Info.plist in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -342,7 +346,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 11.0;
+ IPHONEOS_DEPLOYMENT_TARGET = 12.0;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = iphoneos;
SUPPORTED_PLATFORMS = iphoneos;
@@ -425,7 +429,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 11.0;
+ IPHONEOS_DEPLOYMENT_TARGET = 12.0;
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = iphoneos;
@@ -474,7 +478,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 11.0;
+ IPHONEOS_DEPLOYMENT_TARGET = 12.0;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = iphoneos;
SUPPORTED_PLATFORMS = iphoneos;
diff --git a/example/ios/fastlane/Fastfile b/example/ios/fastlane/Fastfile
index 4a939012a..d232ad5fa 100644
--- a/example/ios/fastlane/Fastfile
+++ b/example/ios/fastlane/Fastfile
@@ -34,6 +34,12 @@ desc "[Developer] Get certificates"
build_app(
workspace: "Runner.xcworkspace",
scheme: "Runner",
+ export_method: "app-store",
+ export_options: {
+ provisioningProfiles: {
+ "dev.flchart.app" => "match AppStore dev.flchart.app"
+ }
+ }
)
upload_to_testflight(skip_waiting_for_build_processing: true)
upload_symbols_to_crashlytics
diff --git a/example/lib/main.dart b/example/lib/main.dart
index a021e21bb..851279b49 100644
--- a/example/lib/main.dart
+++ b/example/lib/main.dart
@@ -1,12 +1,18 @@
+import 'package:firebase_core/firebase_core.dart';
import 'package:fl_chart_app/cubits/app/app_cubit.dart';
import 'package:fl_chart_app/presentation/resources/app_resources.dart';
import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:google_fonts/google_fonts.dart';
+import 'firebase_options.dart';
import 'presentation/router/app_router.dart';
-void main() {
+void main() async {
+ WidgetsFlutterBinding.ensureInitialized();
+ await Firebase.initializeApp(
+ options: DefaultFirebaseOptions.currentPlatform,
+ );
runApp(const MyApp());
}
diff --git a/example/macos/Flutter/GeneratedPluginRegistrant.swift b/example/macos/Flutter/GeneratedPluginRegistrant.swift
index 92f178120..b534bde11 100644
--- a/example/macos/Flutter/GeneratedPluginRegistrant.swift
+++ b/example/macos/Flutter/GeneratedPluginRegistrant.swift
@@ -5,11 +5,13 @@
import FlutterMacOS
import Foundation
+import firebase_core
import package_info_plus
import path_provider_foundation
import url_launcher_macos
func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) {
+ FLTFirebaseCorePlugin.register(with: registry.registrar(forPlugin: "FLTFirebaseCorePlugin"))
FPPPackageInfoPlusPlugin.register(with: registry.registrar(forPlugin: "FPPPackageInfoPlusPlugin"))
PathProviderPlugin.register(with: registry.registrar(forPlugin: "PathProviderPlugin"))
UrlLauncherPlugin.register(with: registry.registrar(forPlugin: "UrlLauncherPlugin"))
diff --git a/example/macos/Podfile.lock b/example/macos/Podfile.lock
index 42e492b50..e53713c62 100644
--- a/example/macos/Podfile.lock
+++ b/example/macos/Podfile.lock
@@ -1,20 +1,48 @@
PODS:
+ - Firebase/CoreOnly (10.18.0):
+ - FirebaseCore (= 10.18.0)
+ - firebase_core (2.24.2):
+ - Firebase/CoreOnly (~> 10.18.0)
+ - FlutterMacOS
+ - FirebaseCore (10.18.0):
+ - FirebaseCoreInternal (~> 10.0)
+ - GoogleUtilities/Environment (~> 7.12)
+ - GoogleUtilities/Logger (~> 7.12)
+ - FirebaseCoreInternal (10.20.0):
+ - "GoogleUtilities/NSData+zlib (~> 7.8)"
- FlutterMacOS (1.0.0)
+ - GoogleUtilities/Environment (7.12.0):
+ - PromisesObjC (< 3.0, >= 1.2)
+ - GoogleUtilities/Logger (7.12.0):
+ - GoogleUtilities/Environment
+ - "GoogleUtilities/NSData+zlib (7.12.0)"
- package_info_plus (0.0.1):
- FlutterMacOS
- path_provider_foundation (0.0.1):
- Flutter
- FlutterMacOS
+ - PromisesObjC (2.3.1)
- url_launcher_macos (0.0.1):
- FlutterMacOS
DEPENDENCIES:
+ - firebase_core (from `Flutter/ephemeral/.symlinks/plugins/firebase_core/macos`)
- FlutterMacOS (from `Flutter/ephemeral`)
- package_info_plus (from `Flutter/ephemeral/.symlinks/plugins/package_info_plus/macos`)
- path_provider_foundation (from `Flutter/ephemeral/.symlinks/plugins/path_provider_foundation/darwin`)
- url_launcher_macos (from `Flutter/ephemeral/.symlinks/plugins/url_launcher_macos/macos`)
+SPEC REPOS:
+ trunk:
+ - Firebase
+ - FirebaseCore
+ - FirebaseCoreInternal
+ - GoogleUtilities
+ - PromisesObjC
+
EXTERNAL SOURCES:
+ firebase_core:
+ :path: Flutter/ephemeral/.symlinks/plugins/firebase_core/macos
FlutterMacOS:
:path: Flutter/ephemeral
package_info_plus:
@@ -25,9 +53,15 @@ EXTERNAL SOURCES:
:path: Flutter/ephemeral/.symlinks/plugins/url_launcher_macos/macos
SPEC CHECKSUMS:
+ Firebase: 414ad272f8d02dfbf12662a9d43f4bba9bec2a06
+ firebase_core: a74ee8b3ab5f91ae6b73f4913eaca996c24458b6
+ FirebaseCore: 2322423314d92f946219c8791674d2f3345b598f
+ FirebaseCoreInternal: efeeb171ac02d623bdaefe121539939821e10811
FlutterMacOS: 8f6f14fa908a6fb3fba0cd85dbd81ec4b251fb24
+ GoogleUtilities: 0759d1a57ebb953965c2dfe0ba4c82e95ccc2e34
package_info_plus: 02d7a575e80f194102bef286361c6c326e4c29ce
path_provider_foundation: 29f094ae23ebbca9d3d0cec13889cd9060c0e943
+ PromisesObjC: c50d2056b5253dadbd6c2bea79b0674bd5a52fa4
url_launcher_macos: d2691c7dd33ed713bf3544850a623080ec693d95
PODFILE CHECKSUM: 353c8bcc5d5b0994e508d035b5431cfe18c1dea7
diff --git a/example/macos/Runner.xcodeproj/project.pbxproj b/example/macos/Runner.xcodeproj/project.pbxproj
index 9b6f9c6b6..f44cd16b1 100644
--- a/example/macos/Runner.xcodeproj/project.pbxproj
+++ b/example/macos/Runner.xcodeproj/project.pbxproj
@@ -21,6 +21,7 @@
/* End PBXAggregateTarget section */
/* Begin PBXBuildFile section */
+ 07E2214F54F4B353200ADC56 /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 80B5E8F4536B479914BA8B53 /* GoogleService-Info.plist */; };
335BBD1B22A9A15E00E9071D /* GeneratedPluginRegistrant.swift in Sources */ = {isa = PBXBuildFile; fileRef = 335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */; };
33CC10F12044A3C60003C045 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC10F02044A3C60003C045 /* AppDelegate.swift */; };
33CC10F32044A3C60003C045 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F22044A3C60003C045 /* Assets.xcassets */; };
@@ -71,6 +72,7 @@
33E5194F232828860026EE4D /* AppInfo.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = AppInfo.xcconfig; sourceTree = ""; };
4FD09C27857801C704F06757 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; };
7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Release.xcconfig; sourceTree = ""; };
+ 80B5E8F4536B479914BA8B53 /* GoogleService-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; name = "GoogleService-Info.plist"; path = "Runner/GoogleService-Info.plist"; sourceTree = ""; };
9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Debug.xcconfig; sourceTree = ""; };
A0C43ED3CC8F9FE13408EE45 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; };
/* End PBXFileReference section */
@@ -106,6 +108,7 @@
33CC10EE2044A3C60003C045 /* Products */,
D73912EC22F37F3D000D13A0 /* Frameworks */,
F4A78FA3CEF98654E14A7A43 /* Pods */,
+ 80B5E8F4536B479914BA8B53 /* GoogleService-Info.plist */,
);
sourceTree = "";
};
@@ -248,6 +251,7 @@
files = (
33CC10F32044A3C60003C045 /* Assets.xcassets in Resources */,
33CC10F62044A3C60003C045 /* MainMenu.xib in Resources */,
+ 07E2214F54F4B353200ADC56 /* GoogleService-Info.plist in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
diff --git a/example/pubspec.yaml b/example/pubspec.yaml
index 43e2d95f0..f1a4ad12f 100644
--- a/example/pubspec.yaml
+++ b/example/pubspec.yaml
@@ -23,6 +23,7 @@ dependencies:
flutter_bloc: ^8.1.3
package_info_plus: ^4.2.0
equatable: ^2.0.5
+ firebase_core: ^2.24.2
dev_dependencies:
flutter_test:
diff --git a/example/windows/flutter/generated_plugin_registrant.cc b/example/windows/flutter/generated_plugin_registrant.cc
index 4f7884874..ec8e8d457 100644
--- a/example/windows/flutter/generated_plugin_registrant.cc
+++ b/example/windows/flutter/generated_plugin_registrant.cc
@@ -6,9 +6,12 @@
#include "generated_plugin_registrant.h"
+#include
#include
void RegisterPlugins(flutter::PluginRegistry* registry) {
+ FirebaseCorePluginCApiRegisterWithRegistrar(
+ registry->GetRegistrarForPlugin("FirebaseCorePluginCApi"));
UrlLauncherWindowsRegisterWithRegistrar(
registry->GetRegistrarForPlugin("UrlLauncherWindows"));
}
diff --git a/example/windows/flutter/generated_plugins.cmake b/example/windows/flutter/generated_plugins.cmake
index 88b22e5c7..02d26c31b 100644
--- a/example/windows/flutter/generated_plugins.cmake
+++ b/example/windows/flutter/generated_plugins.cmake
@@ -3,6 +3,7 @@
#
list(APPEND FLUTTER_PLUGIN_LIST
+ firebase_core
url_launcher_windows
)