diff --git a/CMakeLists.txt b/CMakeLists.txt index cb610fdc90..83b2a3fde5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -214,6 +214,9 @@ endif() # firebase-ios-sdk since it's not needed and can sometimes fail to build. set(FIRESTORE_INCLUDE_OBJC OFF CACHE BOOL "Disabled for the CPP SDK") +# Disable re2 build tests +set(RE2_BUILD_TESTING OFF CACHE BOOL "") + if(FIREBASE_CPP_USE_PRIOR_GRADLE_BUILD) # Quote meta characters in ${CMAKE_CURRENT_LIST_DIR} so we can # match it in a regex. diff --git a/admob/integration_test/Podfile b/admob/integration_test/Podfile index edbea91cff..82cd92953b 100644 --- a/admob/integration_test/Podfile +++ b/admob/integration_test/Podfile @@ -4,7 +4,7 @@ platform :ios, '10.0' use_frameworks! :linkage => :static target 'integration_test' do - pod 'Firebase/Analytics', '9.0.0' + pod 'Firebase/Analytics', '9.1.0' pod 'Google-Mobile-Ads-SDK', '7.69.0-cppsdk2' end diff --git a/analytics/integration_test/Podfile b/analytics/integration_test/Podfile index e6e0602e99..3790ca6ddd 100644 --- a/analytics/integration_test/Podfile +++ b/analytics/integration_test/Podfile @@ -5,12 +5,12 @@ use_frameworks! :linkage => :static target 'integration_test' do platform :ios, '10.0' - pod 'Firebase/Analytics', '9.0.0' + pod 'Firebase/Analytics', '9.1.0' end target 'integration_test_tvos' do platform :tvos, '12.0' - pod 'Firebase/Analytics', '9.0.0' + pod 'Firebase/Analytics', '9.1.0' end post_install do |installer| diff --git a/analytics/ios_headers/FIREventNames.h b/analytics/ios_headers/FIREventNames.h index e26a2cff27..202f81022c 100644 --- a/analytics/ios_headers/FIREventNames.h +++ b/analytics/ios_headers/FIREventNames.h @@ -1,6 +1,6 @@ // Copyright 2022 Google LLC -// Copied from Firebase Analytics iOS SDK 9.0.0. +// Copied from Firebase Analytics iOS SDK 9.1.0. /// @file FIREventNames.h /// diff --git a/analytics/ios_headers/FIRParameterNames.h b/analytics/ios_headers/FIRParameterNames.h index ebeff1e2b4..136f0f5d85 100644 --- a/analytics/ios_headers/FIRParameterNames.h +++ b/analytics/ios_headers/FIRParameterNames.h @@ -1,6 +1,6 @@ // Copyright 2022 Google LLC -// Copied from Firebase Analytics iOS SDK 9.0.0. +// Copied from Firebase Analytics iOS SDK 9.1.0. /// @file FIRParameterNames.h /// diff --git a/analytics/ios_headers/FIRUserPropertyNames.h b/analytics/ios_headers/FIRUserPropertyNames.h index 63e56d0d07..f1c7f267dd 100644 --- a/analytics/ios_headers/FIRUserPropertyNames.h +++ b/analytics/ios_headers/FIRUserPropertyNames.h @@ -1,6 +1,6 @@ // Copyright 2022 Google LLC -// Copied from Firebase Analytics iOS SDK 9.0.0. +// Copied from Firebase Analytics iOS SDK 9.1.0. /// @file FIRUserPropertyNames.h /// diff --git a/app/integration_test/Podfile b/app/integration_test/Podfile index 9e4cc47b75..2b6d6dd224 100644 --- a/app/integration_test/Podfile +++ b/app/integration_test/Podfile @@ -4,7 +4,7 @@ platform :ios, '10.0' use_frameworks! :linkage => :static target 'integration_test' do - pod 'Firebase/Analytics', '9.0.0' + pod 'Firebase/Analytics', '9.1.0' end post_install do |installer| diff --git a/auth/integration_test/Podfile b/auth/integration_test/Podfile index 11c1bd78b9..b08f1f8862 100644 --- a/auth/integration_test/Podfile +++ b/auth/integration_test/Podfile @@ -4,12 +4,12 @@ use_frameworks! :linkage => :static target 'integration_test' do platform :ios, '10.0' - pod 'Firebase/Auth', '9.0.0' + pod 'Firebase/Auth', '9.1.0' end target 'integration_test_tvos' do platform :tvos, '12.0' - pod 'Firebase/Auth', '9.0.0' + pod 'Firebase/Auth', '9.1.0' end post_install do |installer| diff --git a/cmake/external/firestore.cmake b/cmake/external/firestore.cmake index 7cb97c0ce9..d6a2849d02 100644 --- a/cmake/external/firestore.cmake +++ b/cmake/external/firestore.cmake @@ -20,7 +20,7 @@ endif() # If the format of the line below changes, then be sure to update # https://github.com/firebase/firebase-cpp-sdk/blob/fd054fa016/.github/workflows/update-dependencies.yml#L81 -set(version CocoaPods-9.0.0) +set(version CocoaPods-9.1.0) function(GetReleasedDep) message("Getting released firebase-ios-sdk @ ${version}") diff --git a/cmake/external/firestore_snappy.patch.txt b/cmake/external/firestore_snappy.patch.txt index 317ecc6823..f1742fb965 100644 --- a/cmake/external/firestore_snappy.patch.txt +++ b/cmake/external/firestore_snappy.patch.txt @@ -617,3 +617,68 @@ index 000000000..28bfb0837 + const uint8_t*& ip = *ip_p; + // This section is crucial for the throughput of the decompression loop. + // The latency of an iteration is fundamentally constrained by the +diff --git a/Firestore/core/src/model/value_util.cc b/Firestore/core/src/model/value_util.cc +index 1b6bf07e0..41d1d6d26 100644 +--- a/Firestore/core/src/model/value_util.cc ++++ b/Firestore/core/src/model/value_util.cc +@@ -53,26 +53,6 @@ const char* kRawMaxValueFieldValue = "__max__"; + pb_bytes_array_s* kMaxValueFieldValue = + nanopb::MakeBytesArray(kRawMaxValueFieldValue); + +-/** The special map field value entry of a maximum proto value. */ +-google_firestore_v1_MapValue_FieldsEntry kMaxValueFieldEntry = { +- .key = kMaxValueFieldKey, +- .value = { +- .which_value_type = google_firestore_v1_Value_string_value_tag, +- .string_value = const_cast(kMaxValueFieldValue)}}; +- +-/** The special map value of a maximum proto value. */ +-_google_firestore_v1_MapValue kMaxValueMapValue = { +- .fields_count = 1, .fields = &kMaxValueFieldEntry}; +- +-/** +- * A maximum value that is larger than any other Firestore values. Underlying it +- * is a map value with a special map field that SDK user cannot possibly +- * construct. +- */ +-google_firestore_v1_Value kMaxValue = { +- .which_value_type = google_firestore_v1_Value_map_value_tag, +- .map_value = kMaxValueMapValue}; +- + } // namespace + + using nanopb::Message; +@@ -703,8 +683,32 @@ bool IsMinValue(const google_firestore_v1_Value& value) { + return IsNullValue(value); + } + ++/** ++ * Creates and returns a maximum value that is larger than any other Firestore ++ * values. Underlying it is a map value with a special map field that SDK user ++ * cannot possibly construct. ++ */ + google_firestore_v1_Value MaxValue() { +- return kMaxValue; ++ google_firestore_v1_Value value; ++ value.which_value_type = google_firestore_v1_Value_string_value_tag; ++ value.string_value = kMaxValueFieldValue; ++ ++ // Make `field_entry` static so that it has a memory address that outlives ++ // this function's scope; otherwise, using its address in the `map_value` ++ // variable below would be invalid by the time the caller accessed it. ++ static google_firestore_v1_MapValue_FieldsEntry field_entry; ++ field_entry.key = kMaxValueFieldKey; ++ field_entry.value = value; ++ ++ google_firestore_v1_MapValue map_value; ++ map_value.fields_count = 1; ++ map_value.fields = &field_entry; ++ ++ google_firestore_v1_Value max_value; ++ max_value.which_value_type = google_firestore_v1_Value_map_value_tag; ++ max_value.map_value = map_value; ++ ++ return max_value; + } + + bool IsMaxValue(const google_firestore_v1_Value& value) { diff --git a/database/integration_test/Podfile b/database/integration_test/Podfile index 8f77c1dcfe..0f48f8d03a 100644 --- a/database/integration_test/Podfile +++ b/database/integration_test/Podfile @@ -4,14 +4,14 @@ use_frameworks! :linkage => :static target 'integration_test' do platform :ios, '10.0' - pod 'Firebase/Database', '9.0.0' - pod 'Firebase/Auth', '9.0.0' + pod 'Firebase/Database', '9.1.0' + pod 'Firebase/Auth', '9.1.0' end target 'integration_test_tvos' do platform :tvos, '12.0' - pod 'Firebase/Database', '9.0.0' - pod 'Firebase/Auth', '9.0.0' + pod 'Firebase/Database', '9.1.0' + pod 'Firebase/Auth', '9.1.0' end post_install do |installer| diff --git a/dynamic_links/integration_test/Podfile b/dynamic_links/integration_test/Podfile index 331ebe65f4..7141ef86bc 100644 --- a/dynamic_links/integration_test/Podfile +++ b/dynamic_links/integration_test/Podfile @@ -4,7 +4,7 @@ platform :ios, '10.0' use_frameworks! :linkage => :static target 'integration_test' do - pod 'Firebase/DynamicLinks', '9.0.0' + pod 'Firebase/DynamicLinks', '9.1.0' end post_install do |installer| diff --git a/firestore/integration_test/Podfile b/firestore/integration_test/Podfile index a730b4ebc9..d106fbcf81 100644 --- a/firestore/integration_test/Podfile +++ b/firestore/integration_test/Podfile @@ -4,14 +4,14 @@ use_frameworks! :linkage => :static target 'integration_test' do platform :ios, '10.0' - pod 'Firebase/Firestore', '9.0.0' - pod 'Firebase/Auth', '9.0.0' + pod 'Firebase/Firestore', '9.1.0' + pod 'Firebase/Auth', '9.1.0' end target 'integration_test_tvos' do platform :tvos, '12.0' - pod 'Firebase/Firestore', '9.0.0' - pod 'Firebase/Auth', '9.0.0' + pod 'Firebase/Firestore', '9.1.0' + pod 'Firebase/Auth', '9.1.0' end post_install do |installer| diff --git a/firestore/integration_test_internal/Podfile b/firestore/integration_test_internal/Podfile index 07c1d44ed3..86c2bec605 100644 --- a/firestore/integration_test_internal/Podfile +++ b/firestore/integration_test_internal/Podfile @@ -4,14 +4,14 @@ use_frameworks! :linkage => :static target 'integration_test' do platform :ios, '10.0' - pod 'Firebase/Firestore', '9.0.0' - pod 'Firebase/Auth', '9.0.0' + pod 'Firebase/Firestore', '9.1.0' + pod 'Firebase/Auth', '9.1.0' end target 'integration_test_tvos' do platform :tvos, '12.0' - pod 'Firebase/Firestore', '9.0.0' - pod 'Firebase/Auth', '9.0.0' + pod 'Firebase/Firestore', '9.1.0' + pod 'Firebase/Auth', '9.1.0' end post_install do |installer| diff --git a/functions/integration_test/Podfile b/functions/integration_test/Podfile index 90e41cc6db..c843f66614 100644 --- a/functions/integration_test/Podfile +++ b/functions/integration_test/Podfile @@ -4,14 +4,14 @@ use_frameworks! :linkage => :static target 'integration_test' do platform :ios, '10.0' - pod 'Firebase/Functions', '9.0.0' - pod 'Firebase/Auth', '9.0.0' + pod 'Firebase/Functions', '9.1.0' + pod 'Firebase/Auth', '9.1.0' end target 'integration_test_tvos' do platform :tvos, '12.0' - pod 'Firebase/Functions', '9.0.0' - pod 'Firebase/Auth', '9.0.0' + pod 'Firebase/Functions', '9.1.0' + pod 'Firebase/Auth', '9.1.0' end post_install do |installer| diff --git a/installations/integration_test/Podfile b/installations/integration_test/Podfile index 74b8df6af9..1329967794 100644 --- a/installations/integration_test/Podfile +++ b/installations/integration_test/Podfile @@ -4,8 +4,8 @@ platform :ios, '10.0' use_frameworks! :linkage => :static target 'integration_test' do - pod 'Firebase/Analytics', '9.0.0' - pod 'Firebase/Installations', '9.0.0' + pod 'Firebase/Analytics', '9.1.0' + pod 'Firebase/Installations', '9.1.0' end post_install do |installer| diff --git a/ios_pod/Podfile b/ios_pod/Podfile index 27dacad454..b5a4597ac2 100644 --- a/ios_pod/Podfile +++ b/ios_pod/Podfile @@ -3,19 +3,19 @@ platform :ios, '10.0' use_frameworks! target 'GetPods' do - pod 'Firebase/Core', '9.0.0' + pod 'Firebase/Core', '9.1.0' pod 'Google-Mobile-Ads-SDK', '7.69.0-cppsdk2' - pod 'Firebase/Analytics', '9.0.0' - pod 'Firebase/Auth', '9.0.0' - pod 'Firebase/Crashlytics', '9.0.0' - pod 'Firebase/Database', '9.0.0' - pod 'Firebase/DynamicLinks', '9.0.0' - pod 'Firebase/Firestore', '9.0.0' - pod 'Firebase/Functions', '9.0.0' - pod 'Firebase/Installations', '9.0.0' - pod 'Firebase/Messaging', '9.0.0' - pod 'Firebase/RemoteConfig', '9.0.0' - pod 'Firebase/Storage', '9.0.0' + pod 'Firebase/Analytics', '9.1.0' + pod 'Firebase/Auth', '9.1.0' + pod 'Firebase/Crashlytics', '9.1.0' + pod 'Firebase/Database', '9.1.0' + pod 'Firebase/DynamicLinks', '9.1.0' + pod 'Firebase/Firestore', '9.1.0' + pod 'Firebase/Functions', '9.1.0' + pod 'Firebase/Installations', '9.1.0' + pod 'Firebase/Messaging', '9.1.0' + pod 'Firebase/RemoteConfig', '9.1.0' + pod 'Firebase/Storage', '9.1.0' end diff --git a/ios_pod/swift_headers/FirebaseAnalyticsSwift-Swift.h b/ios_pod/swift_headers/FirebaseAnalyticsSwift-Swift.h index 76fd043d2b..ca90341c73 100644 --- a/ios_pod/swift_headers/FirebaseAnalyticsSwift-Swift.h +++ b/ios_pod/swift_headers/FirebaseAnalyticsSwift-Swift.h @@ -1,5 +1,5 @@ // Copyright 2022 Google LLC -// Copied from Firebase iOS SDK 9.0.0. +// Copied from Firebase iOS SDK 9.1.0. // Generated by Apple Swift version 5.6 (swiftlang-5.6.0.323.62 // clang-1316.0.20.8) diff --git a/ios_pod/swift_headers/FirebaseCoreInternal-Swift.h b/ios_pod/swift_headers/FirebaseCoreInternal-Swift.h index 5ae00c0918..8ed11a3e85 100644 --- a/ios_pod/swift_headers/FirebaseCoreInternal-Swift.h +++ b/ios_pod/swift_headers/FirebaseCoreInternal-Swift.h @@ -1,5 +1,5 @@ // Copyright 2022 Google LLC -// Copied from Firebase iOS SDK 9.0.0. +// Copied from Firebase iOS SDK 9.1.0. // Generated by Apple Swift version 5.6 (swiftlang-5.6.0.323.62 clang-1316.0.20.8) #ifndef FIREBASECOREINTERNAL_SWIFT_H diff --git a/ios_pod/swift_headers/FirebaseDatabaseSwift-Swift.h b/ios_pod/swift_headers/FirebaseDatabaseSwift-Swift.h index cc934567d5..ebc49239ed 100644 --- a/ios_pod/swift_headers/FirebaseDatabaseSwift-Swift.h +++ b/ios_pod/swift_headers/FirebaseDatabaseSwift-Swift.h @@ -1,5 +1,5 @@ // Copyright 2022 Google LLC -// Copied from Firebase iOS SDK 9.0.0. +// Copied from Firebase iOS SDK 9.1.0. // Generated by Apple Swift version 5.6 (swiftlang-5.6.0.323.62 // clang-1316.0.20.8) diff --git a/ios_pod/swift_headers/FirebaseFirestoreSwift-Swift.h b/ios_pod/swift_headers/FirebaseFirestoreSwift-Swift.h index 52337a1afb..49a83129fd 100644 --- a/ios_pod/swift_headers/FirebaseFirestoreSwift-Swift.h +++ b/ios_pod/swift_headers/FirebaseFirestoreSwift-Swift.h @@ -1,5 +1,5 @@ // Copyright 2022 Google LLC -// Copied from Firebase iOS SDK 9.0.0. +// Copied from Firebase iOS SDK 9.1.0. // Generated by Apple Swift version 5.6 (swiftlang-5.6.0.323.62 // clang-1316.0.20.8) diff --git a/ios_pod/swift_headers/FirebaseFunctions-Swift.h b/ios_pod/swift_headers/FirebaseFunctions-Swift.h index 5e5cb93f94..77640fee74 100644 --- a/ios_pod/swift_headers/FirebaseFunctions-Swift.h +++ b/ios_pod/swift_headers/FirebaseFunctions-Swift.h @@ -1,5 +1,5 @@ // Copyright 2022 Google LLC -// Copied from Firebase iOS SDK 9.0.0. +// Copied from Firebase iOS SDK 9.1.0. // Generated by Apple Swift version 5.6 (swiftlang-5.6.0.323.62 clang-1316.0.20.8) #ifndef FIREBASEFUNCTIONS_SWIFT_H @@ -236,41 +236,73 @@ typedef unsigned int swift_uint4 __attribute__((__ext_vector_type__(4))); /// Functions is the client for Cloud Functions for a Firebase project. SWIFT_CLASS_NAMED("Functions") @interface FIRFunctions : NSObject -/// Creates a Cloud Functions client or returns a pre-existing instance if it already exists. +/// Creates a Cloud Functions client using the default or returns a pre-existing instance if it +/// already exists. +/// +/// returns: +/// A shared Functions instance initialized with the default FirebaseApp. + (FIRFunctions* _Nonnull)functions SWIFT_WARN_UNUSED_RESULT; /// Creates a Cloud Functions client with the given app, or returns a pre-existing /// instance if one already exists. -/// @param app The app for the Firebase project. +/// \param app The app for the Firebase project. +/// +/// +/// returns: +/// A shared Functions instance initialized with the specified FirebaseApp. + (FIRFunctions* _Nonnull)functionsForApp:(FIRApp* _Nonnull)app SWIFT_WARN_UNUSED_RESULT; /// Creates a Cloud Functions client with the default app and given region. -/// @param region The region for the http trigger, such as “us-central1”. +/// \param region The region for the HTTP trigger, such as us-central1. +/// +/// +/// returns: +/// A shared Functions instance initialized with the default FirebaseApp and a custom +/// region. + (FIRFunctions* _Nonnull)functionsForRegion:(NSString* _Nonnull)region SWIFT_WARN_UNUSED_RESULT; /// Creates a Cloud Functions client with the given app and region, or returns a pre-existing /// instance if one already exists. -/// @param customDomain A custom domain for the http trigger, such as “https://mydomain.com”. +/// \param customDomain A custom domain for the HTTP trigger, such as “https //mydomain.com”. +/// +/// +/// returns: +/// A shared Functions instance initialized with the default FirebaseApp and a custom +/// HTTP trigger domain. + (FIRFunctions* _Nonnull)functionsForCustomDomain:(NSString* _Nonnull)customDomain SWIFT_WARN_UNUSED_RESULT; /// Creates a Cloud Functions client with the given app and region, or returns a pre-existing /// instance if one already exists. -/// @param app The app for the Firebase project. -/// @param region The region for the http trigger, such as “us-central1”. +/// \param app The app for the Firebase project. +/// +/// \param region The region for the HTTP trigger, such as us-central1. +/// +/// +/// returns: +/// An instance of Functions with a custom app and region. + (FIRFunctions* _Nonnull)functionsForApp:(FIRApp* _Nonnull)app region:(NSString* _Nonnull)region SWIFT_WARN_UNUSED_RESULT; /// Creates a Cloud Functions client with the given app and region, or returns a pre-existing /// instance if one already exists. -/// @param app The app for the Firebase project. -/// @param customDomain A custom domain for the http trigger, such as “https://mydomain.com”. +/// \param app The app for the Firebase project. +/// +/// \param customDomain A custom domain for the HTTP trigger, such as +/// https://mydomain.com. +/// +/// +/// returns: +/// An instance of Functions with a custom app and HTTP trigger domain. + (FIRFunctions* _Nonnull)functionsForApp:(FIRApp* _Nonnull)app customDomain:(NSString* _Nonnull)customDomain SWIFT_WARN_UNUSED_RESULT; /// Creates a reference to the Callable HTTPS trigger with the given name. -/// @param name The name of the Callable HTTPS trigger. +/// \param name The name of the Callable HTTPS trigger. +/// - (FIRHTTPSCallable* _Nonnull)HTTPSCallableWithName:(NSString* _Nonnull)name SWIFT_WARN_UNUSED_RESULT; - (FIRHTTPSCallable* _Nonnull)HTTPSCallableWithURL:(NSURL* _Nonnull)url SWIFT_WARN_UNUSED_RESULT; /// Changes this instance to point to a Cloud Functions emulator running locally. /// See https://firebase.google.com/docs/functions/local-emulator -/// @param host The host of the local emulator, such as “localhost”. -/// @param port The port of the local emulator, for example 5005. +/// \param host The host of the local emulator, such as “localhost”. +/// +/// \param port The port of the local emulator, for example 5005. +/// - (void)useEmulatorWithHost:(NSString* _Nonnull)host port:(NSInteger)port; - (nonnull instancetype)init SWIFT_UNAVAILABLE; + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable"); @@ -332,7 +364,7 @@ typedef SWIFT_ENUM_NAMED(NSInteger, FIRFunctionsErrorCode, "FunctionsErrorCode", @class FIRHTTPSCallableResult; -/// A HTTPSCallable is reference to a particular Callable HTTPS trigger in Cloud +/// A HTTPSCallable is a reference to a particular Callable HTTPS trigger in Cloud /// Functions. SWIFT_CLASS_NAMED("HTTPSCallable") @interface FIRHTTPSCallable : NSObject @@ -342,19 +374,19 @@ SWIFT_CLASS_NAMED("HTTPSCallable") /// The data passed into the trigger can be any of the following types: /// /// The request to the Cloud Functions backend made by this method automatically includes a @@ -363,19 +395,22 @@ SWIFT_CLASS_NAMED("HTTPSCallable") /// Firebase Cloud Messaging sends data to the Firebase backend periodically to collect information /// regarding the app instance. To stop this, see Messaging.deleteData(). It /// resumes with a new FCM Token the next time you call this method. -/// @param data Parameters to pass to the trigger. -/// @param completion The block to call when the HTTPS request has completed. +/// \param data Parameters to pass to the trigger. +/// +/// \param completion The block to call when the HTTPS request has completed. +/// - (void)callWithObject:(id _Nullable)data completion: (void (^_Nonnull)(FIRHTTPSCallableResult* _Nullable, NSError* _Nullable))completion; -/// Executes this Callable HTTPS trigger asynchronously. This API should only be used from Objective -/// C The request to the Cloud Functions backend made by this method automatically includes a -/// Firebase Installations ID token to identify the app instance. If a user is logged in with -/// Firebase Auth, an auth ID token for the user is also automatically included. -/// Firebase Cloud Messaging sends data to the Firebase backend periodically to collect information -/// regarding the app instance. To stop this, see Messaging.deleteData(). It -/// resumes with a new FCM Token the next time you call this method. -/// @param completion The block to call when the HTTPS request has completed. +/// Executes this Callable HTTPS trigger asynchronously. This API should only be used from +/// Objective-C. The request to the Cloud Functions backend made by this method automatically +/// includes a Firebase Installations ID token to identify the app instance. If a user is logged in +/// with Firebase Auth, an auth ID token for the user is also automatically included. Firebase Cloud +/// Messaging sends data to the Firebase backend periodically to collect information regarding the +/// app instance. To stop this, see Messaging.deleteData(). It resumes with a new FCM +/// Token the next time you call this method. \param completion The block to call when the HTTPS +/// request has completed. +/// - (void)callWithCompletion:(void (^_Nonnull)(FIRHTTPSCallableResult* _Nullable, NSError* _Nullable))completion; - (nonnull instancetype)init SWIFT_UNAVAILABLE; @@ -387,8 +422,8 @@ SWIFT_CLASS_NAMED("HTTPSCallableResult") @interface FIRHTTPSCallableResult : NSObject /// The data that was returned from the Callable HTTPS trigger. /// The data is in the form of native objects. For example, if your trigger returned an -/// array, this object would be an NSArray. If your trigger returned a JavaScript object with -/// keys and values, this object would be an NSDictionary. +/// array, this object would be an Array. If your trigger returned a JavaScript +/// object with keys and values, this object would be an instance of [String: Any]. @property(nonatomic, readonly) id _Nonnull data; - (nonnull instancetype)init SWIFT_UNAVAILABLE; + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable"); diff --git a/ios_pod/swift_headers/FirebaseInAppMessagingSwift-Swift.h b/ios_pod/swift_headers/FirebaseInAppMessagingSwift-Swift.h index 56528c1416..fd40256f0c 100644 --- a/ios_pod/swift_headers/FirebaseInAppMessagingSwift-Swift.h +++ b/ios_pod/swift_headers/FirebaseInAppMessagingSwift-Swift.h @@ -1,5 +1,5 @@ // Copyright 2022 Google LLC -// Copied from Firebase iOS SDK 9.0.0. +// Copied from Firebase iOS SDK 9.1.0. // Generated by Apple Swift version 5.6 (swiftlang-5.6.0.323.62 // clang-1316.0.20.8) diff --git a/ios_pod/swift_headers/FirebaseMLModelDownloader-Swift.h b/ios_pod/swift_headers/FirebaseMLModelDownloader-Swift.h index 6340dac319..33256545fd 100644 --- a/ios_pod/swift_headers/FirebaseMLModelDownloader-Swift.h +++ b/ios_pod/swift_headers/FirebaseMLModelDownloader-Swift.h @@ -1,5 +1,5 @@ // Copyright 2022 Google LLC -// Copied from Firebase iOS SDK 9.0.0. +// Copied from Firebase iOS SDK 9.1.0. // Generated by Apple Swift version 5.6 (swiftlang-5.6.0.323.62 // clang-1316.0.20.8) diff --git a/ios_pod/swift_headers/FirebaseRemoteConfigSwift-Swift.h b/ios_pod/swift_headers/FirebaseRemoteConfigSwift-Swift.h index 7bcdb5bf9f..5aa1f94856 100644 --- a/ios_pod/swift_headers/FirebaseRemoteConfigSwift-Swift.h +++ b/ios_pod/swift_headers/FirebaseRemoteConfigSwift-Swift.h @@ -1,5 +1,5 @@ // Copyright 2022 Google LLC -// Copied from Firebase iOS SDK 9.0.0. +// Copied from Firebase iOS SDK 9.1.0. // Generated by Apple Swift version 5.6 (swiftlang-5.6.0.323.62 // clang-1316.0.20.8) diff --git a/ios_pod/swift_headers/FirebaseSharedSwift-Swift.h b/ios_pod/swift_headers/FirebaseSharedSwift-Swift.h index 8c5aecf33f..df7978fd00 100644 --- a/ios_pod/swift_headers/FirebaseSharedSwift-Swift.h +++ b/ios_pod/swift_headers/FirebaseSharedSwift-Swift.h @@ -1,5 +1,5 @@ // Copyright 2022 Google LLC -// Copied from Firebase iOS SDK 9.0.0. +// Copied from Firebase iOS SDK 9.1.0. // Generated by Apple Swift version 5.6 (swiftlang-5.6.0.323.62 // clang-1316.0.20.8) diff --git a/ios_pod/swift_headers/FirebaseStorage-Swift.h b/ios_pod/swift_headers/FirebaseStorage-Swift.h index 36ba28f0d6..3a24d43f41 100644 --- a/ios_pod/swift_headers/FirebaseStorage-Swift.h +++ b/ios_pod/swift_headers/FirebaseStorage-Swift.h @@ -1,5 +1,5 @@ // Copyright 2022 Google LLC -// Copied from Firebase iOS SDK 9.0.0. +// Copied from Firebase iOS SDK 9.1.0. // Generated by Apple Swift version 5.6 (swiftlang-5.6.0.323.62 clang-1316.0.20.8) #ifndef FIREBASESTORAGE_SWIFT_H @@ -233,65 +233,97 @@ typedef unsigned int swift_uint4 __attribute__((__ext_vector_type__(4))); @class FIRApp; @class FIRStorageReference; -/// FirebaseStorage is a service that supports uploading and downloading binary objects, -/// such as images, videos, and other files to Google Cloud Storage. -/// If you call FirebaseStorage.storage(), the instance will initialize with the -/// default FirebaseApp, FirebaseApp.app(), and the storage location will come from the -/// provided GoogleService-Info.plist. If you provide a custom instance of FirebaseApp, the storage -/// location will be specified via the FirebaseOptions#storageBucket property. +/// Firebase Storage is a service that supports uploading and downloading binary objects, +/// such as images, videos, and other files to Google Cloud Storage. Instances of +/// Storage are not thread-safe. If you call Storage.storage(), the +/// instance will initialize with the default FirebaseApp, +/// FirebaseApp.app(), and the storage location will come from the provided +/// GoogleService-Info.plist. +/// If you provide a custom instance of FirebaseApp, +/// the storage location will be specified via the FirebaseOptions.storageBucket +/// property. SWIFT_CLASS_NAMED("Storage") @interface FIRStorage : NSObject -/// An instance of FirebaseStorage, configured with the default FirebaseApp. -/// @return the FirebaseStorage instance, configured with the default FirebaseApp. +/// The default Storage instance. +/// +/// returns: +/// An instance of Storage, configured with the default FirebaseApp. + (FIRStorage *_Nonnull)storage SWIFT_WARN_UNUSED_RESULT; -/// An instance of FirebaseStorage, configured with a custom storage bucket @a url. -/// @param url The gs:// url to your Firebase Storage Bucket. -/// @return the FirebaseStorage instance, configured with the custom FirebaseApp. +/// A method used to create Storage instances initialized with a custom storage bucket +/// URL. Any StorageReferences generated from this instance of Storage +/// will reference files and directories within the specified bucket. \param url The +/// gs:// URL to your Firebase Storage bucket. +/// +/// +/// returns: +/// A Storage instance, configured with the custom storage bucket. + (FIRStorage *_Nonnull)storageWithURL:(NSString *_Nonnull)url SWIFT_WARN_UNUSED_RESULT; -/// Creates an instance of FirebaseStorage, configured with the custom FirebaseApp @a app. -/// @param app The custom FirebaseApp used for initialization. -/// @return the FirebaseStorage instance, configured with the custom FirebaseApp. +/// Creates an instance of Storage, configured with a custom FirebaseApp. +/// StorageReferences generated from a resulting instance will reference files in the +/// Firebase project associated with custom FirebaseApp. \param app The custom +/// FirebaseApp used for initialization. +/// +/// +/// returns: +/// A Storage instance, configured with the custom FirebaseApp. + (FIRStorage *_Nonnull)storageForApp:(FIRApp *_Nonnull)app SWIFT_WARN_UNUSED_RESULT; -/// Creates an instance of FirebaseStorage, configured with a custom FirebaseApp @a app and a custom -/// storage bucket @a url. -/// @param app The custom FirebaseApp used for initialization. -/// @param url The gs:// url to your Firebase Storage Bucket. -/// @return the FirebaseStorage instance, configured with the custom FirebaseApp. +/// Creates an instance of Storage, configured with a custom FirebaseApp +/// and a custom storage bucket URL. \param app The custom FirebaseApp used for +/// initialization. +/// +/// \param url The gs:// url to your Firebase Storage bucket. +/// +/// +/// returns: +/// the Storage instance, configured with the custom FirebaseApp and +/// storage bucket URL. + (FIRStorage *_Nonnull)storageForApp:(FIRApp *_Nonnull)app URL:(NSString *_Nonnull)url SWIFT_WARN_UNUSED_RESULT; -/// The Firebase App associated with this Firebase Storage instance. +/// The FirebaseApp associated with this Storage instance. @property(nonatomic, readonly, strong) FIRApp *_Nonnull app; -/// Maximum time in seconds to retry an upload if a failure occurs. +/// The maximum time in seconds to retry an upload if a failure occurs. /// Defaults to 10 minutes (600 seconds). @property(nonatomic) NSTimeInterval maxUploadRetryTime; -/// Maximum time in seconds to retry a download if a failure occurs. +/// The maximum time in seconds to retry a download if a failure occurs. /// Defaults to 10 minutes (600 seconds). @property(nonatomic) NSTimeInterval maxDownloadRetryTime; -/// Maximum time in seconds to retry operations other than upload and download if a failure occurs. -/// Defaults to 2 minutes (120 seconds). +/// The maximum time in seconds to retry operations other than upload and download if a failure +/// occurs. Defaults to 2 minutes (120 seconds). @property(nonatomic) NSTimeInterval maxOperationRetryTime; -/// Queue that all developer callbacks are fired on. Defaults to the main queue. +/// A DispatchQueue that all developer callbacks are fired on. Defaults to the main +/// queue. @property(nonatomic, strong) dispatch_queue_t _Nonnull callbackQueue; -/// Creates a StorageReference initialized at the root Firebase Storage location. -/// @return An instance of StorageReference initialized at the root. +/// Creates a StorageReference initialized at the root Firebase Storage location. +/// +/// returns: +/// An instance of StorageReference referencing the root of the storage bucket. - (FIRStorageReference *_Nonnull)reference SWIFT_WARN_UNUSED_RESULT; -/// Creates a StorageReference given a gs:// or https:// URL pointing to a Firebase Storage -/// location. For example, you can pass in an https:// download URL retrieved from -/// [StorageReference downloadURLWithCompletion] or the gs:// URI from -/// [StorageReference description]. -/// @param string A gs:// or https:// URL to initialize the reference with. -/// @return An instance of StorageReference at the given child path. -/// @throws Throws an exception if passed in URL is not associated with the FirebaseApp used to -/// initialize this FirebaseStorage. -- (FIRStorageReference *_Nonnull)referenceForURL:(NSString *_Nonnull)string - SWIFT_WARN_UNUSED_RESULT; -/// Creates a StorageReference initialized at a child Firebase Storage location. -/// @param string A relative path from the root to initialize the reference with, +/// Creates a StorageReference given a gs:// or https:// URL pointing to a +/// Firebase Storage location. For example, you can pass in an https:// download URL +/// retrieved from StorageReference.downloadURL(completion:) or the gs:// +/// URL from StorageReference.description. \param url A gs // or https:// URL to +/// initialize the reference with. +/// +/// +/// throws: +/// Throws a fatal error if url is not associated with the FirebaseApp +/// used to initialize this Storage instance. +/// +/// returns: +/// An instance of StorageReference at the given child path. +- (FIRStorageReference *_Nonnull)referenceForURL:(NSString *_Nonnull)url SWIFT_WARN_UNUSED_RESULT; +/// Creates a StorageReference initialized at a location specified by the +/// path parameter. \param path A relative path from the root of the storage bucket, /// for instance @“path/to/object”. -/// @return An instance of StorageReference at the given child path. -- (FIRStorageReference *_Nonnull)referenceWithPath:(NSString *_Nonnull)string +/// +/// +/// returns: +/// An instance of StorageReference pointing to the given path. +- (FIRStorageReference *_Nonnull)referenceWithPath:(NSString *_Nonnull)path SWIFT_WARN_UNUSED_RESULT; /// Configures the Storage SDK to use an emulated backend instead of the default remote backend. +/// This method should be called before invoking any other methods on a new instance of +/// Storage. - (void)useEmulatorWithHost:(NSString *_Nonnull)host port:(NSInteger)port; - (id _Nonnull)copy SWIFT_WARN_UNUSED_RESULT; - (BOOL)isEqual:(id _Nullable)object SWIFT_WARN_UNUSED_RESULT; @@ -312,20 +344,19 @@ SWIFT_PROTOCOL_NAMED("StorageTaskManagement") @optional /// Pauses a task currently in progress. - (void)pause; -/// Pauses a task currently in progress. +/// Cancels a task. - (void)cancel; -/// Pauses a task currently in progress. +/// Resumes a paused task. - (void)resume; @end @class FIRStorageTaskSnapshot; -/// A superclass to all Storage*Tasks, including StorageUploadTask -/// and StorageDownloadTask, to provide state transitions, event raising, and common storage -/// or metadata and errors. -/// Callbacks are always fired on the developer specified callback queue. -/// If no queue is specified by the developer, it defaults to the main queue. -/// Currently not thread safe, so only call methods on the main thread. +/// A superclass to all Storage tasks, including StorageUploadTask +/// and StorageDownloadTask, to provide state transitions, event raising, and common +/// storage for metadata and errors. Callbacks are always fired on the developer-specified callback +/// queue. If no queue is specified, it defaults to the main queue. This class is not thread safe, +/// so only call methods on the main thread. SWIFT_CLASS_NAMED("StorageTask") @interface FIRStorageTask : NSObject /// An immutable view of the task and associated metadata, progress, error, etc. @@ -336,46 +367,52 @@ SWIFT_CLASS_NAMED("StorageTask") enum FIRStorageTaskStatus : NSInteger; -/// Extends FIRStorageTask to provide observable semantics such as adding and removing observers. -/// Observers produce a FIRStorageHandle, which is used to keep track of and remove specific -/// observers at a later date. -/// This class is currently not thread safe and can only be called on the main thread. +/// An extended StorageTask providing observable semantics that can be used for +/// responding to changes in task state. Observers produce a StorageHandle, which is +/// used to keep track of and remove specific observers at a later date. This class is not thread +/// safe and can only be called on the main thread. SWIFT_CLASS_NAMED("StorageObservableTask") @interface FIRStorageObservableTask : FIRStorageTask /// Observes changes in the upload status: Resume, Pause, Progress, Success, and Failure. -/// @param status The StorageTaskStatus change to observe. -/// @param handler A callback that fires every time the status event occurs, -/// returns a StorageTaskSnapshot containing the state of the task. -/// @return A task handle that can be used to remove the observer at a later date. +/// \param status The StorageTaskStatus change to observe. +/// +/// \param handler A callback that fires every time the status event occurs, +/// containing a StorageTaskSnapshot describing task state. +/// +/// +/// returns: +/// A task handle that can be used to remove the observer at a later date. - (NSString *_Nonnull)observeStatus:(enum FIRStorageTaskStatus)status handler:(void (^_Nonnull)(FIRStorageTaskSnapshot *_Nonnull))handler; /// Removes the single observer with the provided handle. -/// @param handle The handle of the task to remove. +/// \param handle The handle of the task to remove. +/// - (void)removeObserverWithHandle:(NSString *_Nonnull)handle; /// Removes all observers for a single status. -/// @param status A StorageTaskStatus to remove listeners for. +/// \param status A StorageTaskStatus to remove all listeners for. +/// - (void)removeAllObserversForStatus:(enum FIRStorageTaskStatus)status; /// Removes all observers. - (void)removeAllObservers; @end -/// StorageDownloadTask implements resumable downloads from an object in Firebase Storage. -/// Downloads can be returned on completion with a completion handler, and can be monitored -/// by attaching observers, or controlled by calling StorageTask#pause, StorageTask#resume, -/// or FIRIMPLStorageTask#cancel. -/// Downloads can currently be returned as Data in memory, or as an URL to a file on disk. -/// Downloads are performed on a background queue, and callbacks are raised on the developer -/// specified callbackQueue in Storage, or the main queue if left unspecified. -/// Currently all uploads must be initiated and managed on the main queue. +/// StorageDownloadTask implements resumable downloads from an object in Firebase +/// Storage. Downloads can be returned on completion with a completion handler, and can be monitored +/// by attaching observers, or controlled by calling pause(), resume(), +/// or cancel(). +/// Downloads can currently be returned as Data in memory, or as a URL to +/// a file on disk. Downloads are performed on a background queue, and callbacks are raised on the +/// developer specified callbackQueue in Storage, or the main queue if left +/// unspecified. Currently all uploads must be initiated and managed on the main queue. SWIFT_CLASS_NAMED("StorageDownloadTask") @interface FIRStorageDownloadTask : FIRStorageObservableTask /// Prepares a task and begins execution. - (void)enqueue; -/// Pauses a task currently in progress. +/// Pauses a task currently in progress. Calling this on a paused task has no effect. - (void)pause; -/// Pauses a task currently in progress. +/// Cancels a task. - (void)cancel; -/// Pauses a task currently in progress. +/// Resumes a paused task. Calling this on a running task has no effect. - (void)resume; @end @@ -397,16 +434,21 @@ typedef SWIFT_ENUM_NAMED(NSInteger, FIRStorageErrorCode, "StorageErrorCode", ope /// Contains the prefixes and items returned by a StorageReference.list() call. SWIFT_CLASS_NAMED("StorageListResult") @interface FIRStorageListResult : NSObject -/// The prefixes (folders) returned by the list() operation. -/// @return A list of prefixes (folders). +/// The prefixes (folders) returned by a list() operation. +/// +/// returns: +/// A list of prefixes (folders). @property(nonatomic, readonly, copy) NSArray *_Nonnull prefixes; -/// Returns a token that can be used to resume a previous list() operation. -/// nil indicates that there are no more results. -/// @return A page token if more results are available. +/// The objects (files) returned by a list() operation. +/// +/// returns: +/// A page token if more results are available. @property(nonatomic, readonly, copy) NSArray *_Nonnull items; /// Returns a token that can be used to resume a previous list() operation. /// nil indicates that there are no more results. -/// @return A page token if more results are available. +/// +/// returns: +/// A page token if more results are available. @property(nonatomic, readonly, copy) NSString *_Nullable pageToken; - (id _Nonnull)copy SWIFT_WARN_UNUSED_RESULT; - (nonnull instancetype)init SWIFT_UNAVAILABLE; @@ -477,35 +519,40 @@ SWIFT_CLASS_NAMED("StorageMetadata") @class FIRStorageUploadTask; @class NSURL; -/// StorageReference represents a reference to a Google Cloud Storage object. Developers can -/// upload and download objects, as well as get/set object metadata, and delete an object at the -/// path. -/// @see https://cloud.google.com/storage/ +/// StorageReference represents a reference to a Google Cloud Storage object. +/// Developers can upload and download objects, as well as get/set object metadata, and delete an +/// object at the path. See the Cloud docs for more details: https://cloud.google.com/storage/ SWIFT_CLASS_NAMED("StorageReference") @interface FIRStorageReference : NSObject -/// The Storage service object which created this reference. +/// The Storage service object which created this reference. @property(nonatomic, readonly, strong) FIRStorage *_Nonnull storage; -/// The name of the Google Cloud Storage bucket associated with this reference, -/// in gs://bucket/path/to/object.txt, the bucket would be: ‘bucket’ +/// The name of the Google Cloud Storage bucket associated with this reference. +/// For example, in gs://bucket/path/to/object.txt, the bucket would be ‘bucket’. @property(nonatomic, readonly, copy) NSString *_Nonnull bucket; /// The full path to this object, not including the Google Cloud Storage bucket. -/// In gs://bucket/path/to/object.txt, the full path would be: ‘path/to/object.txt’ +/// In gs://bucket/path/to/object.txt, the full path would be: +/// path/to/object.txt @property(nonatomic, readonly, copy) NSString *_Nonnull fullPath; -/// The short name of the object associated with this reference, -/// in gs://bucket/path/to/object.txt, the name of the object would be: ‘object.txt’ +/// The short name of the object associated with this reference. +/// In gs://bucket/path/to/object.txt, the name of the object would be +/// object.txt. @property(nonatomic, readonly, copy) NSString *_Nonnull name; -/// Creates a new StorageReference pointing to the root object. -/// @return A new StorageReference pointing to the root object. +/// Creates a new StorageReference pointing to the root object. +/// +/// returns: +/// A new StorageReference pointing to the root object. - (FIRStorageReference *_Nonnull)root SWIFT_WARN_UNUSED_RESULT; -/// Creates a new StorageReference pointing to the parent of the current reference -/// or nil if this instance references the root location. +/// Creates a new StorageReference pointing to the parent of the current reference +/// or nil if this instance references the root location. /// For example: /// path = foo/bar/baz parent = foo/bar /// path = foo parent = (root) /// path = (root) parent = nil -/// @return A new StorageReference pointing to the parent of the current reference. +/// +/// returns: +/// A new StorageReference pointing to the parent of the current reference. - (FIRStorageReference *_Nullable)parent SWIFT_WARN_UNUSED_RESULT; -/// Creates a new StorageReference pointing to a child object of the current reference. +/// Creates a new StorageReference pointing to a child object of the current reference. /// path = foo child = bar newPath = foo/bar /// path = foo/bar child = baz ntask.impl.snapshotwPath = foo/bar/baz /// All leading and trailing slashes will be removed, and consecutive slashes will be @@ -513,141 +560,192 @@ SWIFT_CLASS_NAMED("StorageReference") /// child = /foo/bar newPath = foo/bar /// child = foo/bar/ newPath = foo/bar /// child = foo///bar newPath = foo/bar -/// @param path Path to append to the current path. -/// @return A new StorageReference pointing to a child location of the current reference. +/// \param path The path to append to the current path. +/// +/// +/// returns: +/// A new StorageReference pointing to a child location of the current reference. - (FIRStorageReference *_Nonnull)child:(NSString *_Nonnull)path SWIFT_WARN_UNUSED_RESULT; -/// Asynchronously uploads data to the currently specified StorageReference, +/// Asynchronously uploads data to the currently specified StorageReference, /// without additional metadata. /// This is not recommended for large files, and one should instead upload a file from disk. -/// @param uploadData The Data to upload. -/// @param metadata StorageMetadata containing additional information (MIME type, etc.) +/// \param uploadData The data to upload. +/// +/// \param metadata StorageMetadata containing additional information (MIME type, etc.) /// about the object being uploaded. -/// @return An instance of StorageUploadTask, which can be used to monitor or manage the upload. +/// +/// +/// returns: +/// An instance of StorageUploadTask, which can be used to monitor or manage the +/// upload. - (FIRStorageUploadTask *_Nonnull)putData:(NSData *_Nonnull)uploadData metadata:(FIRStorageMetadata *_Nullable)metadata; -/// Asynchronously uploads data to the currently specified StorageReference. +/// Asynchronously uploads data to the currently specified StorageReference. /// This is not recommended for large files, and one should instead upload a file from disk. -/// @param uploadData The Data to upload. -/// @return An instance of StorageUploadTask, which can be used to monitor or manage the upload. +/// \param uploadData The data to upload. +/// +/// +/// returns: +/// An instance of StorageUploadTask, which can be used to monitor or manage the +/// upload. - (FIRStorageUploadTask *_Nonnull)putData:(NSData *_Nonnull)uploadData; -/// Asynchronously uploads data to the currently specified StorageReference. +/// Asynchronously uploads data to the currently specified StorageReference. /// This is not recommended for large files, and one should instead upload a file from disk. -/// @param uploadData The Data to upload. -/// @param metadata StorageMetadata containing additional information (MIME type, etc.) +/// \param uploadData The data to upload. +/// +/// \param metadata StorageMetadata containing additional information (MIME type, etc.) /// about the object being uploaded. -/// @param completion A completion block that either returns the object metadata on success, +/// +/// \param completion A closure that either returns the object metadata on success, /// or an error on failure. -/// @return An instance of StorageUploadTask, which can be used to monitor or manage the upload. +/// +/// +/// returns: +/// An instance of StorageUploadTask, which can be used to monitor or manage the +/// upload. - (FIRStorageUploadTask *_Nonnull)putData:(NSData *_Nonnull)uploadData metadata:(FIRStorageMetadata *_Nullable)metadata completion:(void (^_Nullable)(FIRStorageMetadata *_Nullable, NSError *_Nullable))completion; -/// Asynchronously uploads a file to the currently specified StorageReference. -/// @param fileURL A URL representing the system file path of the object to be uploaded. -/// @param metadata StorageMetadata containing additional information (MIME type, etc.) +/// Asynchronously uploads a file to the currently specified StorageReference. +/// \param fileURL A URL representing the system file path of the object to be uploaded. +/// +/// \param metadata StorageMetadata containing additional information (MIME type, etc.) /// about the object being uploaded. -/// @return An instance of StorageUploadTask, which can be used to monitor or manage the upload. +/// +/// +/// returns: +/// An instance of StorageUploadTask, which can be used to monitor or manage the +/// upload. - (FIRStorageUploadTask *_Nonnull)putFile:(NSURL *_Nonnull)fileURL metadata:(FIRStorageMetadata *_Nullable)metadata; -/// Asynchronously uploads a file to the currently specified StorageReference, +/// Asynchronously uploads a file to the currently specified StorageReference, /// without additional metadata. /// @param fileURL A URL representing the system file path of the object to be uploaded. /// @return An instance of StorageUploadTask, which can be used to monitor or manage the upload. - (FIRStorageUploadTask *_Nonnull)putFile:(NSURL *_Nonnull)fileURL; -/// Asynchronously uploads a file to the currently specified StorageReference. -/// @param fileURL A URL representing the system file path of the object to be uploaded. -/// @param metadata StorageMetadata containing additional information (MIME type, etc.) +/// Asynchronously uploads a file to the currently specified StorageReference. +/// \param fileURL A URL representing the system file path of the object to be uploaded. +/// +/// \param metadata StorageMetadata containing additional information (MIME type, etc.) /// about the object being uploaded. -/// @param completion A completion block that either returns the object metadata on success, +/// +/// \param completion A completion block that either returns the object metadata on success, /// or an error on failure. -/// @return An instance of StorageUploadTask, which can be used to monitor or manage the upload. +/// +/// +/// returns: +/// An instance of StorageUploadTask, which can be used to monitor or manage the +/// upload. - (FIRStorageUploadTask *_Nonnull)putFile:(NSURL *_Nonnull)fileURL metadata:(FIRStorageMetadata *_Nullable)metadata completion:(void (^_Nullable)(FIRStorageMetadata *_Nullable, NSError *_Nullable))completion; -/// Asynchronously downloads the object at the StorageReference to an Data object in memory. -/// An Data of the provided max size will be allocated, so ensure that the device has enough free -/// memory to complete the download. For downloading large files, writeToFile may be a better -/// option. -/// @param maxSize The maximum size in bytes to download. If the download exceeds this size, -/// the task will be cancelled and an error will be returned. -/// @param completion A completion block that either returns the object data on success, +/// Asynchronously downloads the object at the StorageReference to a Data +/// instance in memory. A Data buffer of the provided max size will be allocated, so +/// ensure that the device has enough free memory to complete the download. For downloading large +/// files, write(toFile:) may be a better option. \param maxSize The maximum size in +/// bytes to download. If the download exceeds this size, the task will be cancelled and an error +/// will be returned. +/// +/// \param completion A completion block that either returns the object data on success, /// or an error on failure. -/// @return An StorageDownloadTask that can be used to monitor or manage the download. +/// +/// +/// returns: +/// An StorageDownloadTask that can be used to monitor or manage the download. - (FIRStorageDownloadTask *_Nonnull) dataWithMaxSize:(int64_t)maxSize completion:(void (^_Nonnull)(NSData *_Nullable, NSError *_Nullable))completion; /// Asynchronously retrieves a long lived download URL with a revokable token. /// This can be used to share the file with others, but can be revoked by a developer /// in the Firebase Console. -/// @param completion A completion block that either returns the URL on success, +/// \param completion A completion block that either returns the URL on success, /// or an error on failure. +/// - (void)downloadURLWithCompletion:(void (^_Nonnull)(NSURL *_Nullable, NSError *_Nullable))completion; /// Asynchronously downloads the object at the current path to a specified system filepath. -/// @param fileURL A file system URL representing the path the object should be downloaded to. -/// @return An StorageDownloadTask that can be used to monitor or manage the download. +///
    +///
  • +/// Returns An StorageDownloadTask that can be used to monitor or manage the +/// download. +///
  • +///
+/// \param fileURL A file system URL representing the path the object should be downloaded to. +/// - (FIRStorageDownloadTask *_Nonnull)writeToFile:(NSURL *_Nonnull)fileURL; /// Asynchronously downloads the object at the current path to a specified system filepath. -/// @param fileURL A file system URL representing the path the object should be downloaded to. -/// @param completion A completion block that fires when the file download completes. -/// Returns an URL pointing to the file path of the downloaded file on success, +/// \param fileURL A file system URL representing the path the object should be downloaded to. +/// +/// \param completion A closure that fires when the file download completes, passed either +/// a URL pointing to the file path of the downloaded file on success, /// or an error on failure. -/// @return An StorageDownloadTask that can be used to monitor or manage the download. +/// +/// +/// returns: +/// A StorageDownloadTask that can be used to monitor or manage the download. - (FIRStorageDownloadTask *_Nonnull)writeToFile:(NSURL *_Nonnull)fileURL completion:(void (^_Nullable)(NSURL *_Nullable, NSError *_Nullable))completion; -/// List all items (files) and prefixes (folders) under this StorageReference. -/// This is a helper method for calling list() repeatedly until there are no more results. -/// Consistency of the result is not guaranteed if objects are inserted or removed while this -/// operation is executing. All results are buffered in memory. +/// Lists all items (files) and prefixes (folders) under this StorageReference. +/// This is a helper method for calling list() repeatedly until there are no more +/// results. Consistency of the result is not guaranteed if objects are inserted or removed while +/// this operation is executing. All results are buffered in memory. /// listAll(completion:) is only available for projects using Firebase Rules Version 2. -/// @param completion A completion handler that will be invoked with all items and prefixes under -/// the current StorageReference. +/// \param completion A completion handler that will be invoked with all items and prefixes under +/// the current StorageReference. +/// - (void)listAllWithCompletion:(void (^_Nonnull)(FIRStorageListResult *_Nullable, NSError *_Nullable))completion; /// List up to maxResults items (files) and prefixes (folders) under this /// StorageReference. “/” is treated as a path delimiter. Firebase Storage does not support /// unsupported object paths that end with “/” or contain two consecutive “/“s. All invalid objects /// in GCS will be filtered. list(maxResults:completion:) is only available for -/// projects using Firebase Rules Version 2. -/// @param maxResults The maximum number of results to return in a single page. Must be greater -/// than 0 and at most 1000. -/// @param completion A completion handler that will be invoked with up to maxResults items and -/// prefixes under the current StorageReference. +/// projects using Firebase Rules Version 2. \param maxResults The maximum number of results to +/// return in a single page. Must be greater than 0 and at most 1000. +/// +/// \param completion A completion handler that will be invoked with up to maxResults +/// items and prefixes under the current StorageReference. +/// - (void)listWithMaxResults:(int64_t)maxResults completion:(void (^_Nonnull)(FIRStorageListResult *_Nullable, NSError *_Nullable))completion; -/// Resumes a previous call to list(maxResults:completion:)`, starting after a pagination token. -/// Returns the next set of items (files) and prefixes (folders) under this StorageReference. -/// “/” is treated as a path delimiter. Firebase Storage does not support unsupported object -/// paths that end with “/” or contain two consecutive “/“s. All invalid objects in GCS will be -/// filtered. -/// list(maxResults:pageToken:completion:)is only available for projects using Firebase -/// Rules Version 2. -/// @param maxResults The maximum number of results to return in a single page. Must be greater -/// than 0 and at most 1000. -/// @param pageToken A page token from a previous call to list. -/// @param completion A completion handler that will be invoked with the next items and prefixes +/// Resumes a previous call to list(maxResults:completion:), starting after a +/// pagination token. Returns the next set of items (files) and prefixes (folders) under this +/// StorageReference. “/” is treated as a path delimiter. Storage does not support +/// unsupported object paths that end with “/” or contain two consecutive “/“s. All invalid objects +/// in GCS will be filtered. list(maxResults:pageToken:completion:)is only available +/// for projects using Firebase Rules Version 2. \param maxResults The maximum number of results to +/// return in a single page. Must be greater than 0 and at most 1000. +/// +/// \param pageToken A page token from a previous call to list. +/// +/// \param completion A completion handler that will be invoked with the next items and prefixes /// under the current StorageReference. +/// - (void)listWithMaxResults:(int64_t)maxResults pageToken:(NSString *_Nonnull)pageToken completion:(void (^_Nonnull)(FIRStorageListResult *_Nullable, NSError *_Nullable))completion; /// Retrieves metadata associated with an object at the current path. -/// @param completion A completion block which returns the object metadata on success, +/// \param completion A completion block which returns the object metadata on success, /// or an error on failure. +/// - (void)metadataWithCompletion:(void (^_Nonnull)(FIRStorageMetadata *_Nullable, NSError *_Nullable))completion; /// Updates the metadata associated with an object at the current path. -/// @param metadata An StorageMetadata object with the metadata to update. -/// @param completion A completion block which returns the StorageMetadata on success, +/// \param metadata A StorageMetadata object with the metadata to update. +/// +/// \param completion A completion block which returns the StorageMetadata on success, /// or an error on failure. +/// - (void)updateMetadata:(FIRStorageMetadata *_Nonnull)metadata completion: (void (^_Nullable)(FIRStorageMetadata *_Nullable, NSError *_Nullable))completion; /// Deletes the object at the current path. -/// @param completion A completion block which returns nil on success, or an error on failure. +/// \param completion A completion block which returns a nonnull error on failure. +/// - (void)deleteWithCompletion:(void (^_Nullable)(NSError *_Nullable))completion; - (FIRStorageReference *_Nonnull)copy:(struct _NSZone *_Nonnull)zone SWIFT_WARN_UNUSED_RESULT; - (BOOL)isEqual:(id _Nullable)object SWIFT_WARN_UNUSED_RESULT; @@ -659,22 +757,22 @@ SWIFT_CLASS_NAMED("StorageReference") @class NSProgress; -/// StorageTaskSnapshot represents an immutable view of a task. -/// A Snapshot contains a task, storage reference, metadata (if it exists), +/// StorageTaskSnapshot represents an immutable view of a task. +/// A snapshot contains a task, storage reference, metadata (if it exists), /// progress, and an error (if one occurred). SWIFT_CLASS_NAMED("StorageTaskSnapshot") @interface FIRStorageTaskSnapshot : NSObject -/// Subclass of StorageTask this snapshot represents. +/// The task this snapshot represents. @property(nonatomic, readonly, strong) FIRStorageTask *_Nonnull task; -/// Metadata returned by the task, or nil if no metadata returned. +/// Metadata returned by the task, or nil if no metadata returned. @property(nonatomic, readonly, strong) FIRStorageMetadata *_Nullable metadata; -/// StorageReference this task is operates on. +/// The StorageReference this task operates on. @property(nonatomic, readonly, strong) FIRStorageReference *_Nonnull reference; -/// Progress object which tracks the progress of an upload or download. +/// An object which tracks the progress of an upload or download. @property(nonatomic, readonly, strong) NSProgress *_Nullable progress; -/// Error during task execution, or nil if no error occurred. +/// An error raised during task execution, or nil if no error occurred. @property(nonatomic, readonly) NSError *_Nullable error; -/// Status of the task. +/// The status of the task. @property(nonatomic, readonly) enum FIRStorageTaskStatus status; @property(nonatomic, readonly, copy) NSString *_Nonnull description; - (nonnull instancetype)init SWIFT_UNAVAILABLE; @@ -687,13 +785,13 @@ typedef SWIFT_ENUM_NAMED(NSInteger, FIRStorageTaskStatus, "StorageTaskStatus", o FIRStorageTaskStatusSuccess = 4, FIRStorageTaskStatusFailure = 5, }; -/// StorageUploadTask implements resumable uploads to a file in Firebase Storage. +/// StorageUploadTask implements resumable uploads to a file in Firebase Storage. /// Uploads can be returned on completion with a completion callback, and can be monitored -/// by attaching observers, or controlled by calling StorageTask#pause, StorageTask#resume, -/// or StorageTask#cancel. -/// Uploads can takeData in memory, or an URL to a file on disk. +/// by attaching observers, or controlled by calling pause(), resume(), +/// or cancel(). +/// Uploads can be initialized from Data in memory, or a URL to a file on disk. /// Uploads are performed on a background queue, and callbacks are raised on the developer -/// specified callbackQueue in Storage, or the main queue if left unspecified. +/// specified callbackQueue in Storage, or the main queue if unspecified. /// Currently all uploads must be initiated and managed on the main queue. SWIFT_CLASS_NAMED("StorageUploadTask") @interface FIRStorageUploadTask : FIRStorageObservableTask @@ -701,9 +799,9 @@ SWIFT_CLASS_NAMED("StorageUploadTask") - (void)enqueue; /// Pauses a task currently in progress. - (void)pause; -/// Pauses a task currently in progress. +/// Cancels a task. - (void)cancel; -/// Pauses a task currently in progress. +/// Resumes a paused task. - (void)resume; @end diff --git a/ios_pod/swift_headers/SwiftProtobuf-Swift.h b/ios_pod/swift_headers/SwiftProtobuf-Swift.h index 8f203aef65..0e02a6606f 100644 --- a/ios_pod/swift_headers/SwiftProtobuf-Swift.h +++ b/ios_pod/swift_headers/SwiftProtobuf-Swift.h @@ -1,5 +1,5 @@ // Copyright 2022 Google LLC -// Copied from Firebase iOS SDK 9.0.0. +// Copied from Firebase iOS SDK 9.1.0. // Generated by Apple Swift version 5.6 (swiftlang-5.6.0.323.62 // clang-1316.0.20.8) diff --git a/messaging/integration_test/Podfile b/messaging/integration_test/Podfile index 133c62a723..8443485695 100644 --- a/messaging/integration_test/Podfile +++ b/messaging/integration_test/Podfile @@ -4,12 +4,12 @@ use_frameworks! :linkage => :static target 'integration_test' do platform :ios, '10.0' - pod 'Firebase/Messaging', '9.0.0' + pod 'Firebase/Messaging', '9.1.0' end target 'integration_test_tvos' do platform :tvos, '12.0' - pod 'Firebase/Messaging', '9.0.0' + pod 'Firebase/Messaging', '9.1.0' end post_install do |installer| diff --git a/release_build_files/readme.md b/release_build_files/readme.md index d2c3a92443..4f55a0696a 100644 --- a/release_build_files/readme.md +++ b/release_build_files/readme.md @@ -203,46 +203,46 @@ Feature | Required Frameworks and Cocoapods -------------------------- | --------------------------------------- Firebase AdMob | firebase_admob.xcframework | | firebase.xcframework -| | Firebase/Analytics Cocoapod (9.0.0) +| | Firebase/Analytics Cocoapod (9.1.0) | | Google-Mobile-Ads-SDK Cocoapod (7.69.0-cppsdk2) Firebase Analytics | firebase_analytics.xcframework | | firebase.xcframework -| | Firebase/Analytics Cocoapod (9.0.0) +| | Firebase/Analytics Cocoapod (9.1.0) Firebase Authentication | firebase_auth.xcframework | | firebase.xcframework -| | Firebase/Auth Cocoapod (9.0.0) +| | Firebase/Auth Cocoapod (9.1.0) Firebase Dynamic Links | firebase_dynamic_links.xcframework | | firebase.xcframework -| | Firebase/DynamicLinks Cocoapod (9.0.0) +| | Firebase/DynamicLinks Cocoapod (9.1.0) Cloud Firestore | firebase_firestore.xcframework | | firebase_auth.xcframework | | firebase.xcframework -| | Firebase/Firestore Cocoapod (9.0.0) -| | Firebase/Auth Cocoapod (9.0.0) +| | Firebase/Firestore Cocoapod (9.1.0) +| | Firebase/Auth Cocoapod (9.1.0) Firebase Functions | firebase_functions.xcframework | | firebase_auth.xcframework (optional) | | firebase.xcframework -| | Firebase/Functions Cocoapod (9.0.0) -| | Firebase/Auth Cocoapod (9.0.0) +| | Firebase/Functions Cocoapod (9.1.0) +| | Firebase/Auth Cocoapod (9.1.0) Firebase Installations | firebase_installations.xcframework | | firebase.xcframework -| | FirebaseInstallations Cocoapod (9.0.0) +| | FirebaseInstallations Cocoapod (9.1.0) Firebase Cloud Messaging | firebase_messaging.xcframework | | firebase.xcframework -| | Firebase/Messaging Cocoapod (9.0.0) +| | Firebase/Messaging Cocoapod (9.1.0) Firebase Realtime Database | firebase_database.xcframework | | firebase_auth.xcframework | | firebase.xcframework -| | Firebase/Database Cocoapod (9.0.0) -| | Firebase/Auth Cocoapod (9.0.0) +| | Firebase/Database Cocoapod (9.1.0) +| | Firebase/Auth Cocoapod (9.1.0) Firebase Remote Config | firebase_remote_config.xcframework | | firebase.xcframework -| | Firebase/RemoteConfig Cocoapod (9.0.0) +| | Firebase/RemoteConfig Cocoapod (9.1.0) Firebase Storage | firebase_storage.xcframework | | firebase_auth.xcframework | | firebase.xcframework -| | Firebase/Storage Cocoapod (9.0.0) -| | Firebase/Auth Cocoapod (9.0.0) +| | Firebase/Storage Cocoapod (9.1.0) +| | Firebase/Auth Cocoapod (9.1.0) Important: Each version of the Firebase C++ SDK supports a specific version of the Firebase iOS SDK. Please ensure that you reference the Cocoapod versions @@ -267,46 +267,46 @@ Feature | Required Libraries and Cocoapods -------------------------- | ----------------------------------------- Firebase AdMob | libfirebase_admob.a | | libfirebase_app.a -| | Firebase/Analytics Cocoapod (9.0.0) +| | Firebase/Analytics Cocoapod (9.1.0) | | Google-Mobile-Ads-SDK Cocoapod (7.69.0-cppsdk2) Firebase Analytics | libfirebase_analytics.a | | libfirebase_app.a -| | Firebase/Analytics Cocoapod (9.0.0) +| | Firebase/Analytics Cocoapod (9.1.0) Firebase Authentication | libfirebase_auth.a | | libfirebase_app.a -| | Firebase/Auth Cocoapod (9.0.0) +| | Firebase/Auth Cocoapod (9.1.0) Firebase Dynamic Links | libfirebase_dynamic_links.a | | libfirebase_app.a -| | Firebase/DynamicLinks Cocoapod (9.0.0) +| | Firebase/DynamicLinks Cocoapod (9.1.0) Cloud Firestore | libfirebase_firestore.a | | libfirebase_app.a | | libfirebase_auth.a -| | Firebase/Firestore Cocoapod (9.0.0) -| | Firebase/Auth Cocoapod (9.0.0) +| | Firebase/Firestore Cocoapod (9.1.0) +| | Firebase/Auth Cocoapod (9.1.0) Firebase Functions | libfirebase_functions.a | | libfirebase_app.a | | libfirebase_auth.a (optional) -| | Firebase/Functions Cocoapod (9.0.0) -| | Firebase/Auth Cocoapod (9.0.0) +| | Firebase/Functions Cocoapod (9.1.0) +| | Firebase/Auth Cocoapod (9.1.0) Firebase Installations | libfirebase_installations.a | | libfirebase_app.a -| | FirebaseInstallations Cocoapod (9.0.0) +| | FirebaseInstallations Cocoapod (9.1.0) Firebase Cloud Messaging | libfirebase_messaging.a | | libfirebase_app.a -| | Firebase/CloudMessaging Cocoapod (9.0.0) +| | Firebase/CloudMessaging Cocoapod (9.1.0) Firebase Realtime Database | libfirebase_database.a | | libfirebase_app.a | | libfirebase_auth.a -| | Firebase/Database Cocoapod (9.0.0) -| | Firebase/Auth Cocoapod (9.0.0) +| | Firebase/Database Cocoapod (9.1.0) +| | Firebase/Auth Cocoapod (9.1.0) Firebase Remote Config | libfirebase_remote_config.a | | libfirebase_app.a -| | Firebase/RemoteConfig Cocoapod (9.0.0) +| | Firebase/RemoteConfig Cocoapod (9.1.0) Firebase Storage | libfirebase_storage.a | | libfirebase_app.a | | libfirebase_auth.a -| | Firebase/Storage Cocoapod (9.0.0) -| | Firebase/Auth Cocoapod (9.0.0) +| | Firebase/Storage Cocoapod (9.1.0) +| | Firebase/Auth Cocoapod (9.1.0) Important: Each version of the Firebase C++ SDK supports a specific version of the Firebase iOS SDK. Please ensure that you reference the Cocoapod versions diff --git a/remote_config/integration_test/Podfile b/remote_config/integration_test/Podfile index cb23fca811..e0e1c1916d 100644 --- a/remote_config/integration_test/Podfile +++ b/remote_config/integration_test/Podfile @@ -4,12 +4,12 @@ use_frameworks! :linkage => :static target 'integration_test' do platform :ios, '10.0' - pod 'Firebase/RemoteConfig', '9.0.0' + pod 'Firebase/RemoteConfig', '9.1.0' end target 'integration_test_tvos' do platform :tvos, '12.0' - pod 'Firebase/RemoteConfig', '9.0.0' + pod 'Firebase/RemoteConfig', '9.1.0' end post_install do |installer| diff --git a/storage/integration_test/Podfile b/storage/integration_test/Podfile index 15de55a65e..6a6a445c7c 100644 --- a/storage/integration_test/Podfile +++ b/storage/integration_test/Podfile @@ -4,14 +4,14 @@ use_frameworks! :linkage => :static target 'integration_test' do platform :ios, '10.0' - pod 'Firebase/Storage', '9.0.0' - pod 'Firebase/Auth', '9.0.0' + pod 'Firebase/Storage', '9.1.0' + pod 'Firebase/Auth', '9.1.0' end target 'integration_test_tvos' do platform :tvos, '12.0' - pod 'Firebase/Storage', '9.0.0' - pod 'Firebase/Auth', '9.0.0' + pod 'Firebase/Storage', '9.1.0' + pod 'Firebase/Auth', '9.1.0' end post_install do |installer|