From 087198813f9d47a87961179f2222528487a52db9 Mon Sep 17 00:00:00 2001 From: russellwheatley Date: Thu, 25 May 2023 10:36:13 +0100 Subject: [PATCH 1/4] fix(core): pass boolean value instead of int --- .../cloud_firestore/example/.fvm/fvm_config.json | 4 ++++ .../firebase_core/ios/Classes/FLTFirebaseCorePlugin.m | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) create mode 100644 packages/cloud_firestore/cloud_firestore/example/.fvm/fvm_config.json diff --git a/packages/cloud_firestore/cloud_firestore/example/.fvm/fvm_config.json b/packages/cloud_firestore/cloud_firestore/example/.fvm/fvm_config.json new file mode 100644 index 000000000000..3b0122b1e071 --- /dev/null +++ b/packages/cloud_firestore/cloud_firestore/example/.fvm/fvm_config.json @@ -0,0 +1,4 @@ +{ + "flutterSdkVersion": "3.7.3", + "flavors": {} +} \ No newline at end of file diff --git a/packages/firebase_core/firebase_core/ios/Classes/FLTFirebaseCorePlugin.m b/packages/firebase_core/firebase_core/ios/Classes/FLTFirebaseCorePlugin.m index dfdf66467872..4331c3603ece 100644 --- a/packages/firebase_core/firebase_core/ios/Classes/FLTFirebaseCorePlugin.m +++ b/packages/firebase_core/firebase_core/ios/Classes/FLTFirebaseCorePlugin.m @@ -226,7 +226,7 @@ - (void)setAutomaticDataCollectionEnabledAppName:(nonnull NSString *)appName (nonnull void (^)(FlutterError *_Nullable))completion { FIRApp *firebaseApp = [FLTFirebasePlugin firebaseAppNamed:appName]; if (firebaseApp) { - [firebaseApp setDataCollectionDefaultEnabled:enabled]; + [firebaseApp setDataCollectionDefaultEnabled:[enabled boolValue]]; } completion(nil); From e6cdaf5b9f9c71d62ad5a6aab6508aad6f1a73d6 Mon Sep 17 00:00:00 2001 From: russellwheatley Date: Thu, 25 May 2023 10:37:20 +0100 Subject: [PATCH 2/4] chore(core): update example app setup --- .../ios/Flutter/AppFrameworkInfo.plist | 2 +- .../firebase_core/example/ios/Podfile | 3 +- .../ios/Runner.xcodeproj/project.pbxproj | 53 ++++++++++++++++--- .../macos/Runner.xcodeproj/project.pbxproj | 14 ++++- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- 5 files changed, 61 insertions(+), 13 deletions(-) diff --git a/packages/firebase_core/firebase_core/example/ios/Flutter/AppFrameworkInfo.plist b/packages/firebase_core/firebase_core/example/ios/Flutter/AppFrameworkInfo.plist index f2872cf474ee..4f8d4d2456f3 100644 --- a/packages/firebase_core/firebase_core/example/ios/Flutter/AppFrameworkInfo.plist +++ b/packages/firebase_core/firebase_core/example/ios/Flutter/AppFrameworkInfo.plist @@ -21,6 +21,6 @@ CFBundleVersion 1.0 MinimumOSVersion - 9.0 + 11.0 diff --git a/packages/firebase_core/firebase_core/example/ios/Podfile b/packages/firebase_core/firebase_core/example/ios/Podfile index f7d6a5e68c3a..c55294dc3de9 100644 --- a/packages/firebase_core/firebase_core/example/ios/Podfile +++ b/packages/firebase_core/firebase_core/example/ios/Podfile @@ -1,5 +1,5 @@ # Uncomment this line to define a global platform for your project -# platform :ios, '9.0' +platform :ios, '11.0' # CocoaPods analytics sends network stats synchronously affecting flutter build latency. ENV['COCOAPODS_DISABLE_STATS'] = 'true' @@ -28,6 +28,7 @@ require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelpe flutter_ios_podfile_setup target 'Runner' do + use_frameworks! flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__)) end diff --git a/packages/firebase_core/firebase_core/example/ios/Runner.xcodeproj/project.pbxproj b/packages/firebase_core/firebase_core/example/ios/Runner.xcodeproj/project.pbxproj index 764fe57529e9..4f6284c00ab7 100644 --- a/packages/firebase_core/firebase_core/example/ios/Runner.xcodeproj/project.pbxproj +++ b/packages/firebase_core/firebase_core/example/ios/Runner.xcodeproj/project.pbxproj @@ -3,7 +3,7 @@ archiveVersion = 1; classes = { }; - objectVersion = 50; + objectVersion = 54; objects = { /* Begin PBXBuildFile section */ @@ -14,7 +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 */; }; - AA4D9DEDF00CF510919175F9 /* libPods-Runner.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 18DD11613925B062136895EC /* libPods-Runner.a */; }; + CC8B39E3ACF96AAA7558280C /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7EBB2450D3A9A002F48D58D3 /* Pods_Runner.framework */; }; /* End PBXBuildFile section */ /* Begin PBXCopyFilesBuildPhase section */ @@ -33,13 +33,13 @@ /* Begin PBXFileReference section */ 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = ""; }; 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = ""; }; - 18DD11613925B062136895EC /* libPods-Runner.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-Runner.a"; sourceTree = BUILT_PRODUCTS_DIR; }; 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; }; 42A2737C2B544A2E56A3A04E /* 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 = ""; }; 63CB8F00B8C52FB1D84FF6EC /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; }; 7AFFD8ED1D35381100E5BB4D /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; }; 7AFFD8EE1D35381100E5BB4D /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = ""; }; + 7EBB2450D3A9A002F48D58D3 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 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; }; @@ -56,7 +56,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - AA4D9DEDF00CF510919175F9 /* libPods-Runner.a in Frameworks */, + CC8B39E3ACF96AAA7558280C /* Pods_Runner.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -66,7 +66,7 @@ 2CE3A5071D061A62942DA14B /* Frameworks */ = { isa = PBXGroup; children = ( - 18DD11613925B062136895EC /* libPods-Runner.a */, + 7EBB2450D3A9A002F48D58D3 /* Pods_Runner.framework */, ); name = Frameworks; sourceTree = ""; @@ -149,6 +149,7 @@ 97C146EC1CF9000F007C117D /* Resources */, 9705A1C41CF9048500538489 /* Embed Frameworks */, 3B06AD1E1E4923F5004D2608 /* Thin Binary */, + FE9FCD1596DCB6AB2B208201 /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -209,10 +210,12 @@ /* Begin PBXShellScriptBuildPhase section */ 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); inputPaths = ( + "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}", ); name = "Thin Binary"; outputPaths = ( @@ -245,6 +248,7 @@ }; 9740EEB61CF901F6004384FC /* Run Script */ = { isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); @@ -257,6 +261,30 @@ shellPath = /bin/sh; shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build"; }; + FE9FCD1596DCB6AB2B208201 /* [CP] Embed Pods Frameworks */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh", + "${BUILT_PRODUCTS_DIR}/FirebaseCore/FirebaseCore.framework", + "${BUILT_PRODUCTS_DIR}/FirebaseCoreInternal/FirebaseCoreInternal.framework", + "${BUILT_PRODUCTS_DIR}/GoogleUtilities/GoogleUtilities.framework", + "${BUILT_PRODUCTS_DIR}/PromisesObjC/FBLPromises.framework", + ); + name = "[CP] Embed Pods Frameworks"; + outputPaths = ( + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FirebaseCore.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FirebaseCoreInternal.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/GoogleUtilities.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FBLPromises.framework", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; + showEnvVarsInLog = 0; + }; /* End PBXShellScriptBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ @@ -355,7 +383,10 @@ "$(PROJECT_DIR)/Flutter", ); INFOPLIST_FILE = Runner/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); LIBRARY_SEARCH_PATHS = ( "$(inherited)", "$(PROJECT_DIR)/Flutter", @@ -484,7 +515,10 @@ "$(PROJECT_DIR)/Flutter", ); INFOPLIST_FILE = Runner/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); LIBRARY_SEARCH_PATHS = ( "$(inherited)", "$(PROJECT_DIR)/Flutter", @@ -508,7 +542,10 @@ "$(PROJECT_DIR)/Flutter", ); INFOPLIST_FILE = Runner/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); LIBRARY_SEARCH_PATHS = ( "$(inherited)", "$(PROJECT_DIR)/Flutter", diff --git a/packages/firebase_core/firebase_core/example/macos/Runner.xcodeproj/project.pbxproj b/packages/firebase_core/firebase_core/example/macos/Runner.xcodeproj/project.pbxproj index fb2a85c5a91a..68436e0a2c01 100644 --- a/packages/firebase_core/firebase_core/example/macos/Runner.xcodeproj/project.pbxproj +++ b/packages/firebase_core/firebase_core/example/macos/Runner.xcodeproj/project.pbxproj @@ -3,7 +3,7 @@ archiveVersion = 1; classes = { }; - objectVersion = 51; + objectVersion = 54; objects = { /* Begin PBXAggregateTarget section */ @@ -202,7 +202,7 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0920; - LastUpgradeCheck = 0930; + LastUpgradeCheck = 1300; ORGANIZATIONNAME = "The Flutter Authors"; TargetAttributes = { 33CC10EC2044A3C60003C045 = { @@ -255,6 +255,7 @@ /* Begin PBXShellScriptBuildPhase section */ 3399D490228B24CF009A79C7 /* ShellScript */ = { isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); @@ -296,9 +297,18 @@ files = ( ); inputPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh", + "${BUILT_PRODUCTS_DIR}/FirebaseCore/FirebaseCore.framework", + "${BUILT_PRODUCTS_DIR}/FirebaseCoreInternal/FirebaseCoreInternal.framework", + "${BUILT_PRODUCTS_DIR}/GoogleUtilities/GoogleUtilities.framework", + "${BUILT_PRODUCTS_DIR}/PromisesObjC/FBLPromises.framework", ); name = "[CP] Embed Pods Frameworks"; outputPaths = ( + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FirebaseCore.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FirebaseCoreInternal.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/GoogleUtilities.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FBLPromises.framework", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; diff --git a/packages/firebase_core/firebase_core/example/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/packages/firebase_core/firebase_core/example/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index df12c333e68c..ad089fa5dfb1 100644 --- a/packages/firebase_core/firebase_core/example/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/packages/firebase_core/firebase_core/example/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ Date: Tue, 30 May 2023 12:57:06 +0100 Subject: [PATCH 3/4] Delete fvm_config.json --- .../cloud_firestore/example/.fvm/fvm_config.json | 4 ---- 1 file changed, 4 deletions(-) delete mode 100644 packages/cloud_firestore/cloud_firestore/example/.fvm/fvm_config.json diff --git a/packages/cloud_firestore/cloud_firestore/example/.fvm/fvm_config.json b/packages/cloud_firestore/cloud_firestore/example/.fvm/fvm_config.json deleted file mode 100644 index 3b0122b1e071..000000000000 --- a/packages/cloud_firestore/cloud_firestore/example/.fvm/fvm_config.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "flutterSdkVersion": "3.7.3", - "flavors": {} -} \ No newline at end of file From e4ffe1982d5faa4475ef36e58f4532d041180e9f Mon Sep 17 00:00:00 2001 From: russellwheatley Date: Tue, 30 May 2023 12:58:34 +0100 Subject: [PATCH 4/4] test(core): test both `setAutomaticDataCollectionEnabled` scenarios --- .../firebase_core/firebase_core_e2e_test.dart | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/tests/integration_test/firebase_core/firebase_core_e2e_test.dart b/tests/integration_test/firebase_core/firebase_core_e2e_test.dart index 9c4a07b7b25d..8f31a8ddbd65 100644 --- a/tests/integration_test/firebase_core/firebase_core_e2e_test.dart +++ b/tests/integration_test/firebase_core/firebase_core_e2e_test.dart @@ -64,11 +64,13 @@ void main() { test('FirebaseApp.setAutomaticDataCollectionEnabled()', () async { FirebaseApp app = Firebase.app(testAppName); - bool enabled = app.isAutomaticDataCollectionEnabled; + await app.setAutomaticDataCollectionEnabled(false); - await app.setAutomaticDataCollectionEnabled(!enabled); + expect(app.isAutomaticDataCollectionEnabled, false); - expect(app.isAutomaticDataCollectionEnabled, !enabled); + await app.setAutomaticDataCollectionEnabled(true); + + expect(app.isAutomaticDataCollectionEnabled, true); }); test('FirebaseApp.setAutomaticResourceManagementEnabled()', () async {