From 1470f4ea44af23a542d2487f8d8851f0b95e99a2 Mon Sep 17 00:00:00 2001 From: Harlan Haskins Date: Wed, 30 Apr 2025 10:12:19 -0500 Subject: [PATCH 1/3] Use new Google Utility for detecting whether to support background URL session uploads --- FirebaseStorage/Sources/StorageUploadTask.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/FirebaseStorage/Sources/StorageUploadTask.swift b/FirebaseStorage/Sources/StorageUploadTask.swift index 73cb1d5cb21..80a25209b4e 100644 --- a/FirebaseStorage/Sources/StorageUploadTask.swift +++ b/FirebaseStorage/Sources/StorageUploadTask.swift @@ -98,7 +98,7 @@ import Foundation uploadFetcher.uploadFileURL = fileURL uploadFetcher.comment = "File UploadTask" - if GULAppEnvironmentUtil.isAppExtension() { + if !GULAppEnvironmentUtil.supportsBackgroundURLSessionUploads() { uploadFetcher.useBackgroundSession = false } } From 89919ebd818b60ef8ec7fceb8e8fedd45affee33 Mon Sep 17 00:00:00 2001 From: Harlan Haskins Date: Fri, 2 May 2025 12:34:33 -0400 Subject: [PATCH 2/3] Bump GoogleUtilities dependency --- FirebaseAnalytics.podspec | 8 ++++---- FirebaseAppCheck.podspec | 4 ++-- FirebaseAppDistribution.podspec | 4 ++-- FirebaseAuth.podspec | 4 ++-- FirebaseCore.podspec | 4 ++-- FirebaseCoreInternal.podspec | 2 +- FirebaseCrashlytics.podspec | 2 +- FirebaseDatabase.podspec | 2 +- FirebaseDynamicLinks.podspec | 4 ++-- FirebaseInAppMessaging.podspec | 4 ++-- FirebaseInstallations.podspec | 4 ++-- FirebaseMLModelDownloader.podspec | 2 +- FirebaseMessaging.podspec | 8 ++++---- FirebasePerformance.podspec | 6 +++--- FirebaseRemoteConfig.podspec | 4 ++-- FirebaseSessions.podspec | 4 ++-- FirebaseStorage.podspec | 2 +- GoogleAppMeasurement.podspec | 8 ++++---- Package.swift | 2 +- 19 files changed, 39 insertions(+), 39 deletions(-) diff --git a/FirebaseAnalytics.podspec b/FirebaseAnalytics.podspec index 1929e743ed9..646bd9b00a7 100644 --- a/FirebaseAnalytics.podspec +++ b/FirebaseAnalytics.podspec @@ -28,10 +28,10 @@ Pod::Spec.new do |s| s.dependency 'FirebaseCore', '~> 11.13.0' s.dependency 'FirebaseInstallations', '~> 11.0' - s.dependency 'GoogleUtilities/AppDelegateSwizzler', '~> 8.0' - s.dependency 'GoogleUtilities/MethodSwizzler', '~> 8.0' - s.dependency 'GoogleUtilities/NSData+zlib', '~> 8.0' - s.dependency 'GoogleUtilities/Network', '~> 8.0' + s.dependency 'GoogleUtilities/AppDelegateSwizzler', '~> 8.1' + s.dependency 'GoogleUtilities/MethodSwizzler', '~> 8.1' + s.dependency 'GoogleUtilities/NSData+zlib', '~> 8.1' + s.dependency 'GoogleUtilities/Network', '~> 8.1' s.dependency 'nanopb', '~> 3.30910.0' s.default_subspecs = 'AdIdSupport' diff --git a/FirebaseAppCheck.podspec b/FirebaseAppCheck.podspec index ae90d79456d..3b22cf6f5c3 100644 --- a/FirebaseAppCheck.podspec +++ b/FirebaseAppCheck.podspec @@ -47,8 +47,8 @@ Pod::Spec.new do |s| s.dependency 'AppCheckCore', '~> 11.0' s.dependency 'FirebaseAppCheckInterop', '~> 11.0' s.dependency 'FirebaseCore', '~> 11.13.0' - s.dependency 'GoogleUtilities/Environment', '~> 8.0' - s.dependency 'GoogleUtilities/UserDefaults', '~> 8.0' + s.dependency 'GoogleUtilities/Environment', '~> 8.1' + s.dependency 'GoogleUtilities/UserDefaults', '~> 8.1' s.pod_target_xcconfig = { 'GCC_C_LANGUAGE_STANDARD' => 'c99', diff --git a/FirebaseAppDistribution.podspec b/FirebaseAppDistribution.podspec index f8a16ebf5d8..e9ca3a73ed0 100644 --- a/FirebaseAppDistribution.podspec +++ b/FirebaseAppDistribution.podspec @@ -31,8 +31,8 @@ iOS SDK for App Distribution for Firebase. s.public_header_files = base_dir + 'Public/FirebaseAppDistribution/*.h' s.dependency 'FirebaseCore', '~> 11.13.0' - s.dependency 'GoogleUtilities/AppDelegateSwizzler', '~> 8.0' - s.dependency 'GoogleUtilities/UserDefaults', '~> 8.0' + s.dependency 'GoogleUtilities/AppDelegateSwizzler', '~> 8.1' + s.dependency 'GoogleUtilities/UserDefaults', '~> 8.1' s.dependency 'FirebaseInstallations', '~> 11.0' s.pod_target_xcconfig = { diff --git a/FirebaseAuth.podspec b/FirebaseAuth.podspec index 7db75cc0184..db99c757eba 100644 --- a/FirebaseAuth.podspec +++ b/FirebaseAuth.podspec @@ -60,8 +60,8 @@ supports email and password accounts, as well as several 3rd party authenticatio s.dependency 'FirebaseAppCheckInterop', '~> 11.0' s.dependency 'FirebaseCore', '~> 11.13.0' s.dependency 'FirebaseCoreExtension', '~> 11.13.0' - s.dependency 'GoogleUtilities/AppDelegateSwizzler', '~> 8.0' - s.dependency 'GoogleUtilities/Environment', '~> 8.0' + s.dependency 'GoogleUtilities/AppDelegateSwizzler', '~> 8.1' + s.dependency 'GoogleUtilities/Environment', '~> 8.1' s.dependency 'GTMSessionFetcher/Core', '>= 3.4', '< 5.0' s.ios.dependency 'RecaptchaInterop', '~> 101.0' s.test_spec 'unit' do |unit_tests| diff --git a/FirebaseCore.podspec b/FirebaseCore.podspec index 8bbdf2889fa..e0a86f26df0 100644 --- a/FirebaseCore.podspec +++ b/FirebaseCore.podspec @@ -51,8 +51,8 @@ Firebase Core includes FIRApp and FIROptions which provide central configuration s.watchos.framework = 'WatchKit' # Remember to also update version in `cmake/external/GoogleUtilities.cmake` - s.dependency 'GoogleUtilities/Environment', '~> 8.0' - s.dependency 'GoogleUtilities/Logger', '~> 8.0' + s.dependency 'GoogleUtilities/Environment', '~> 8.1' + s.dependency 'GoogleUtilities/Logger', '~> 8.1' s.dependency 'FirebaseCoreInternal', '~> 11.13.0' s.pod_target_xcconfig = { diff --git a/FirebaseCoreInternal.podspec b/FirebaseCoreInternal.podspec index 12e370d8621..18c528b5e39 100644 --- a/FirebaseCoreInternal.podspec +++ b/FirebaseCoreInternal.podspec @@ -38,7 +38,7 @@ Pod::Spec.new do |s| s.swift_version = '5.9' - s.dependency 'GoogleUtilities/NSData+zlib', '~> 8.0' + s.dependency 'GoogleUtilities/NSData+zlib', '~> 8.1' s.test_spec 'Unit' do |unit_tests| unit_tests.scheme = { :code_coverage => true } diff --git a/FirebaseCrashlytics.podspec b/FirebaseCrashlytics.podspec index f9174548e0c..9e1c2cbcc70 100644 --- a/FirebaseCrashlytics.podspec +++ b/FirebaseCrashlytics.podspec @@ -65,7 +65,7 @@ Pod::Spec.new do |s| s.dependency 'FirebaseRemoteConfigInterop', '~> 11.0' s.dependency 'PromisesObjC', '~> 2.4' s.dependency 'GoogleDataTransport', '~> 10.0' - s.dependency 'GoogleUtilities/Environment', '~> 8.0' + s.dependency 'GoogleUtilities/Environment', '~> 8.1' s.dependency 'nanopb', '~> 3.30910.0' s.libraries = 'c++', 'z' diff --git a/FirebaseDatabase.podspec b/FirebaseDatabase.podspec index 72a75adec57..3a2a9b899f2 100644 --- a/FirebaseDatabase.podspec +++ b/FirebaseDatabase.podspec @@ -51,7 +51,7 @@ Simplify your iOS development, grow your user base, and monetize more effectivel s.dependency 'FirebaseCore', '~> 11.13.0' s.dependency 'FirebaseAppCheckInterop', '~> 11.0' s.dependency 'FirebaseSharedSwift', '~> 11.0' - s.dependency 'GoogleUtilities/UserDefaults', '~> 8.0' + s.dependency 'GoogleUtilities/UserDefaults', '~> 8.1' s.pod_target_xcconfig = { 'GCC_C_LANGUAGE_STANDARD' => 'c99', 'HEADER_SEARCH_PATHS' => '"${PODS_TARGET_SRCROOT}"' diff --git a/FirebaseDynamicLinks.podspec b/FirebaseDynamicLinks.podspec index 5f3f5102691..bd7db3429db 100644 --- a/FirebaseDynamicLinks.podspec +++ b/FirebaseDynamicLinks.podspec @@ -55,7 +55,7 @@ Firebase Dynamic Links are deep links that enhance user experience and increase # Supply plist for custom domain testing. 'FirebaseDynamicLinks/Tests/Unit/DL-Info.plist' unit_tests.dependency 'OCMock' - unit_tests.dependency 'GoogleUtilities/MethodSwizzler', '~> 8.0' - unit_tests.dependency 'GoogleUtilities/SwizzlerTestHelpers', '~> 8.0' + unit_tests.dependency 'GoogleUtilities/MethodSwizzler', '~> 8.1' + unit_tests.dependency 'GoogleUtilities/SwizzlerTestHelpers', '~> 8.1' end end diff --git a/FirebaseInAppMessaging.podspec b/FirebaseInAppMessaging.podspec index 7c1ec98e55d..52b9b0b79cd 100644 --- a/FirebaseInAppMessaging.podspec +++ b/FirebaseInAppMessaging.podspec @@ -83,8 +83,8 @@ See more product details at https://firebase.google.com/products/in-app-messagin s.dependency 'FirebaseCore', '~> 11.13.0' s.dependency 'FirebaseInstallations', '~> 11.0' s.dependency 'FirebaseABTesting', '~> 11.0' - s.dependency 'GoogleUtilities/Environment', '~> 8.0' - s.dependency 'GoogleUtilities/UserDefaults', '~> 8.0' + s.dependency 'GoogleUtilities/Environment', '~> 8.1' + s.dependency 'GoogleUtilities/UserDefaults', '~> 8.1' s.dependency 'nanopb', '~> 3.30910.0' s.test_spec 'unit' do |unit_tests| diff --git a/FirebaseInstallations.podspec b/FirebaseInstallations.podspec index 213bcc53097..328da56178e 100644 --- a/FirebaseInstallations.podspec +++ b/FirebaseInstallations.podspec @@ -47,8 +47,8 @@ Pod::Spec.new do |s| s.framework = 'Security' s.dependency 'FirebaseCore', '~> 11.13.0' s.dependency 'PromisesObjC', '~> 2.4' - s.dependency 'GoogleUtilities/Environment', '~> 8.0' - s.dependency 'GoogleUtilities/UserDefaults', '~> 8.0' + s.dependency 'GoogleUtilities/Environment', '~> 8.1' + s.dependency 'GoogleUtilities/UserDefaults', '~> 8.1' preprocessor_definitions = '' s.pod_target_xcconfig = { diff --git a/FirebaseMLModelDownloader.podspec b/FirebaseMLModelDownloader.podspec index b35cfcaf90a..38b3563d84b 100644 --- a/FirebaseMLModelDownloader.podspec +++ b/FirebaseMLModelDownloader.podspec @@ -40,7 +40,7 @@ Pod::Spec.new do |s| s.dependency 'FirebaseCoreExtension', '~> 11.13.0' s.dependency 'FirebaseInstallations', '~> 11.0' s.dependency 'GoogleDataTransport', '~> 10.0' - s.dependency 'GoogleUtilities/UserDefaults', '~> 8.0' + s.dependency 'GoogleUtilities/UserDefaults', '~> 8.1' s.dependency 'SwiftProtobuf', '~> 1.19' s.pod_target_xcconfig = { diff --git a/FirebaseMessaging.podspec b/FirebaseMessaging.podspec index e99e2ebfeb3..79eabe7f453 100644 --- a/FirebaseMessaging.podspec +++ b/FirebaseMessaging.podspec @@ -63,10 +63,10 @@ device, and it is completely free. s.weak_framework = 'UserNotifications' s.dependency 'FirebaseInstallations', '~> 11.0' s.dependency 'FirebaseCore', '~> 11.13.0' - s.dependency 'GoogleUtilities/AppDelegateSwizzler', '~> 8.0' - s.dependency 'GoogleUtilities/Reachability', '~> 8.0' - s.dependency 'GoogleUtilities/Environment', '~> 8.0' - s.dependency 'GoogleUtilities/UserDefaults', '~> 8.0' + s.dependency 'GoogleUtilities/AppDelegateSwizzler', '~> 8.1' + s.dependency 'GoogleUtilities/Reachability', '~> 8.1' + s.dependency 'GoogleUtilities/Environment', '~> 8.1' + s.dependency 'GoogleUtilities/UserDefaults', '~> 8.1' s.dependency 'GoogleDataTransport', '~> 10.0' s.dependency 'nanopb', '~> 3.30910.0' diff --git a/FirebasePerformance.podspec b/FirebasePerformance.podspec index 8c6262ab72c..b6ce91be3b4 100644 --- a/FirebasePerformance.podspec +++ b/FirebasePerformance.podspec @@ -64,9 +64,9 @@ Firebase Performance library to measure performance of Mobile and Web Apps. s.dependency 'FirebaseRemoteConfig', '~> 11.0' s.dependency 'FirebaseSessions', '~> 11.0' s.dependency 'GoogleDataTransport', '~> 10.0' - s.dependency 'GoogleUtilities/Environment', '~> 8.0' - s.dependency 'GoogleUtilities/MethodSwizzler', '~> 8.0' - s.dependency 'GoogleUtilities/UserDefaults', '~> 8.0' + s.dependency 'GoogleUtilities/Environment', '~> 8.1' + s.dependency 'GoogleUtilities/MethodSwizzler', '~> 8.1' + s.dependency 'GoogleUtilities/UserDefaults', '~> 8.1' s.dependency 'nanopb', '~> 3.30910.0' s.test_spec 'unit' do |unit_tests| diff --git a/FirebaseRemoteConfig.podspec b/FirebaseRemoteConfig.podspec index 65671e9c32b..7866379e8ae 100644 --- a/FirebaseRemoteConfig.podspec +++ b/FirebaseRemoteConfig.podspec @@ -54,8 +54,8 @@ app update. s.dependency 'FirebaseSharedSwift', '~> 11.0' s.dependency 'FirebaseCore', '~> 11.13.0' s.dependency 'FirebaseInstallations', '~> 11.0' - s.dependency 'GoogleUtilities/Environment', '~> 8.0' - s.dependency 'GoogleUtilities/NSData+zlib', '~> 8.0' + s.dependency 'GoogleUtilities/Environment', '~> 8.1' + s.dependency 'GoogleUtilities/NSData+zlib', '~> 8.1' s.dependency 'FirebaseRemoteConfigInterop', '~> 11.0' s.test_spec 'unit' do |unit_tests| diff --git a/FirebaseSessions.podspec b/FirebaseSessions.podspec index 22454c9b09d..9f7729162dc 100644 --- a/FirebaseSessions.podspec +++ b/FirebaseSessions.podspec @@ -43,8 +43,8 @@ Pod::Spec.new do |s| s.dependency 'FirebaseCoreExtension', '~> 11.13.0' s.dependency 'FirebaseInstallations', '~> 11.0' s.dependency 'GoogleDataTransport', '~> 10.0' - s.dependency 'GoogleUtilities/Environment', '~> 8.0' - s.dependency 'GoogleUtilities/UserDefaults', '~> 8.0' + s.dependency 'GoogleUtilities/Environment', '~> 8.1' + s.dependency 'GoogleUtilities/UserDefaults', '~> 8.1' s.dependency 'nanopb', '~> 3.30910.0' s.dependency 'PromisesSwift', '~> 2.1' diff --git a/FirebaseStorage.podspec b/FirebaseStorage.podspec index 6b94b05ced1..d8563d48502 100644 --- a/FirebaseStorage.podspec +++ b/FirebaseStorage.podspec @@ -42,7 +42,7 @@ Firebase Storage provides robust, secure file uploads and downloads from Firebas s.dependency 'FirebaseCore', '~> 11.13.0' s.dependency 'FirebaseCoreExtension', '~> 11.13.0' s.dependency 'GTMSessionFetcher/Core', '>= 3.4', '< 5.0' - s.dependency 'GoogleUtilities/Environment', '~> 8.0' + s.dependency 'GoogleUtilities/Environment', '~> 8.1' s.test_spec 'ObjCIntegration' do |objc_tests| objc_tests.scheme = { :code_coverage => true } diff --git a/GoogleAppMeasurement.podspec b/GoogleAppMeasurement.podspec index 7a3d01c8b09..41deacbd79b 100644 --- a/GoogleAppMeasurement.podspec +++ b/GoogleAppMeasurement.podspec @@ -28,10 +28,10 @@ Pod::Spec.new do |s| s.libraries = 'c++', 'sqlite3', 'z' s.frameworks = 'StoreKit' - s.dependency 'GoogleUtilities/AppDelegateSwizzler', '~> 8.0' - s.dependency 'GoogleUtilities/MethodSwizzler', '~> 8.0' - s.dependency 'GoogleUtilities/NSData+zlib', '~> 8.0' - s.dependency 'GoogleUtilities/Network', '~> 8.0' + s.dependency 'GoogleUtilities/AppDelegateSwizzler', '~> 8.1' + s.dependency 'GoogleUtilities/MethodSwizzler', '~> 8.1' + s.dependency 'GoogleUtilities/NSData+zlib', '~> 8.1' + s.dependency 'GoogleUtilities/Network', '~> 8.1' s.dependency 'nanopb', '~> 3.30910.0' s.default_subspecs = 'AdIdSupport' diff --git a/Package.swift b/Package.swift index 66f17603c4d..1fa0ccc82a6 100644 --- a/Package.swift +++ b/Package.swift @@ -150,7 +150,7 @@ let package = Package( ), .package( url: "https://github.com/google/GoogleUtilities.git", - "8.0.0" ..< "9.0.0" + "8.1.0" ..< "9.0.0" ), .package( url: "https://github.com/google/gtm-session-fetcher.git", From b0b4e5b763389985924e5ec046c57d3829a49aa9 Mon Sep 17 00:00:00 2001 From: Harlan Haskins Date: Fri, 2 May 2025 14:15:12 -0400 Subject: [PATCH 3/3] Update CHANGELOG --- FirebaseStorage/CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/FirebaseStorage/CHANGELOG.md b/FirebaseStorage/CHANGELOG.md index cb40acb0b9f..9e940e34310 100644 --- a/FirebaseStorage/CHANGELOG.md +++ b/FirebaseStorage/CHANGELOG.md @@ -1,3 +1,7 @@ +# 11.13.0 +- [fixed] `putFile` now works in App Clips. Similarly to app extensions, background session + configurations are not used in App Clips (#14794). + # 11.1.0 - [fixed] Fix a potential data race in Storage initialization. (#13369)