修改pods
This commit is contained in:
@@ -14,6 +14,9 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
#ifndef FIREBASECORE_FIRAPPINTERNAL_H
|
||||
#define FIREBASECORE_FIRAPPINTERNAL_H
|
||||
|
||||
#import <FirebaseCore/FIRApp.h>
|
||||
|
||||
@class FIRComponentContainer;
|
||||
@@ -40,8 +43,26 @@ extern NSString *const kFIRAppNameKey;
|
||||
extern NSString *const kFIRGoogleAppIDKey;
|
||||
extern NSString *const kFirebaseCoreErrorDomain;
|
||||
|
||||
/** The `UserDefaults` suite name for `FirebaseCore`, for those storage locations that use it. */
|
||||
extern NSString *const kFirebaseCoreDefaultsSuiteName;
|
||||
/**
|
||||
* Keys for the strings in the plist file.
|
||||
*/
|
||||
extern NSString *const kFIRAPIKey;
|
||||
extern NSString *const kFIRTrackingID;
|
||||
extern NSString *const kFIRGoogleAppID;
|
||||
extern NSString *const kFIRClientID;
|
||||
extern NSString *const kFIRGCMSenderID;
|
||||
extern NSString *const kFIRAndroidClientID;
|
||||
extern NSString *const kFIRDatabaseURL;
|
||||
extern NSString *const kFIRStorageBucket;
|
||||
extern NSString *const kFIRBundleID;
|
||||
extern NSString *const kFIRProjectID;
|
||||
|
||||
/**
|
||||
* Keys for the plist file name
|
||||
*/
|
||||
extern NSString *const kServiceInfoFileName;
|
||||
|
||||
extern NSString *const kServiceInfoFileType;
|
||||
|
||||
/**
|
||||
* The format string for the `UserDefaults` key used for storing the data collection enabled flag.
|
||||
@@ -157,3 +178,5 @@ extern NSString *const FIRAuthStateDidChangeInternalNotificationUIDKey;
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
|
||||
#endif // FIREBASECORE_FIRAPPINTERNAL_H
|
||||
|
||||
@@ -14,6 +14,9 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
#ifndef FIREBASECORE_FIRCOMPONENT_H
|
||||
#define FIREBASECORE_FIRCOMPONENT_H
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
@class FIRApp;
|
||||
@@ -32,8 +35,6 @@ typedef _Nullable id (^FIRComponentCreationBlock)(FIRComponentContainer *contain
|
||||
BOOL *isCacheable)
|
||||
NS_SWIFT_NAME(ComponentCreationBlock);
|
||||
|
||||
@class FIRDependency;
|
||||
|
||||
/// Describes the timing of instantiation. Note: new components should default to lazy unless there
|
||||
/// is a strong reason to be eager.
|
||||
typedef NS_ENUM(NSInteger, FIRInstantiationTiming) {
|
||||
@@ -52,9 +53,6 @@ NS_SWIFT_NAME(Component)
|
||||
/// The timing of instantiation.
|
||||
@property(nonatomic, readonly) FIRInstantiationTiming instantiationTiming;
|
||||
|
||||
/// An array of dependencies for the component.
|
||||
@property(nonatomic, copy, readonly) NSArray<FIRDependency *> *dependencies;
|
||||
|
||||
/// A block to instantiate an instance of the component with the appropriate dependencies.
|
||||
@property(nonatomic, copy, readonly) FIRComponentCreationBlock creationBlock;
|
||||
|
||||
@@ -72,14 +70,12 @@ NS_SWIFT_NAME(init(_:creationBlock:));
|
||||
/// @param protocol - The protocol describing functionality provided by the component.
|
||||
/// @param instantiationTiming - When the component should be initialized. Use .lazy unless there's
|
||||
/// a good reason to be instantiated earlier.
|
||||
/// @param dependencies - Any dependencies the `implementingClass` has, optional or required.
|
||||
/// @param creationBlock - A block to instantiate the component with a container, and if
|
||||
/// @return A component that can be registered with the component container.
|
||||
+ (instancetype)componentWithProtocol:(Protocol *)protocol
|
||||
instantiationTiming:(FIRInstantiationTiming)instantiationTiming
|
||||
dependencies:(NSArray<FIRDependency *> *)dependencies
|
||||
creationBlock:(FIRComponentCreationBlock)creationBlock
|
||||
NS_SWIFT_NAME(init(_:instantiationTiming:dependencies:creationBlock:));
|
||||
NS_SWIFT_NAME(init(_:instantiationTiming:creationBlock:));
|
||||
|
||||
// clang-format on
|
||||
|
||||
@@ -89,3 +85,5 @@ NS_SWIFT_NAME(init(_:instantiationTiming:dependencies:creationBlock:));
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
|
||||
#endif // FIREBASECORE_FIRCOMPONENT_H
|
||||
|
||||
@@ -13,6 +13,10 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
#ifndef FIREBASECORE_FIRCOMPONENTCONTAINER_H
|
||||
#define FIREBASECORE_FIRCOMPONENTCONTAINER_H
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
@@ -43,3 +47,5 @@ NS_SWIFT_NAME(FirebaseComponentContainer)
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
|
||||
#endif // FIREBASECORE_FIRCOMPONENTCONTAINER_H
|
||||
|
||||
@@ -14,6 +14,9 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
#ifndef FIREBASECORE_FIRCOMPONENTTYPE_H
|
||||
#define FIREBASECORE_FIRCOMPONENTTYPE_H
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
@class FIRComponentContainer;
|
||||
@@ -33,3 +36,5 @@ NS_SWIFT_NAME(ComponentType)
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
|
||||
#endif // FIREBASECORE_FIRCOMPONENTTYPE_H
|
||||
|
||||
@@ -1,45 +0,0 @@
|
||||
/*
|
||||
* Copyright 2018 Google
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
/// A dependency on a specific protocol's functionality.
|
||||
NS_SWIFT_NAME(Dependency)
|
||||
@interface FIRDependency : NSObject
|
||||
|
||||
/// The protocol describing functionality being depended on.
|
||||
@property(nonatomic, strong, readonly) Protocol *protocol;
|
||||
|
||||
/// A flag to specify if the dependency is required or not.
|
||||
@property(nonatomic, readonly) BOOL isRequired;
|
||||
|
||||
/// Initializes a dependency that is required. Calls `init(protocol:isRequired:)` with true for
|
||||
/// the required parameter.
|
||||
/// Creates a required dependency on the specified protocol's functionality.
|
||||
+ (instancetype)dependencyWithProtocol:(Protocol *)protocol;
|
||||
|
||||
/// Creates a dependency on the specified protocol's functionality and specify if it's required for
|
||||
/// the class's functionality.
|
||||
+ (instancetype)dependencyWithProtocol:(Protocol *)protocol isRequired:(BOOL)required;
|
||||
|
||||
/// Use `init(withProtocol:isRequired:)` instead.
|
||||
- (instancetype)init NS_UNAVAILABLE;
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
@@ -12,6 +12,9 @@
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
#ifndef FIREBASECORE_FIRHEARTBEATLOGGER_H
|
||||
#define FIREBASECORE_FIRHEARTBEATLOGGER_H
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
@@ -30,19 +33,24 @@ typedef NS_ENUM(NSInteger, FIRDailyHeartbeatCode) {
|
||||
FIRDailyHeartbeatCodeSome = 2,
|
||||
};
|
||||
|
||||
NS_SWIFT_SENDABLE
|
||||
@protocol FIRHeartbeatLoggerProtocol <NSObject>
|
||||
|
||||
/// Asynchronously logs a heartbeat.
|
||||
- (void)log;
|
||||
|
||||
#ifndef FIREBASE_BUILD_CMAKE
|
||||
/// Flushes heartbeats from storage into a structured payload of heartbeats.
|
||||
- (FIRHeartbeatsPayload *)flushHeartbeatsIntoPayload;
|
||||
#endif // FIREBASE_BUILD_CMAKE
|
||||
|
||||
/// Gets the heartbeat code for today.
|
||||
- (FIRDailyHeartbeatCode)heartbeatCodeForToday;
|
||||
|
||||
#ifndef FIREBASE_BUILD_CMAKE
|
||||
/// Returns the header value for the heartbeat logger via the given completion handler..
|
||||
- (void)asyncHeaderValueWithCompletionHandler:(void (^)(NSString *_Nullable))completionHandler
|
||||
API_AVAILABLE(ios(13.0), macosx(10.15), macCatalyst(13.0), tvos(13.0), watchos(6.0));
|
||||
|
||||
/// Return the header value for the heartbeat logger.
|
||||
- (NSString *_Nullable)headerValue;
|
||||
#endif // FIREBASE_BUILD_CMAKE
|
||||
|
||||
@end
|
||||
|
||||
#ifndef FIREBASE_BUILD_CMAKE
|
||||
@@ -68,13 +76,23 @@ NSString *_Nullable FIRHeaderValueFromHeartbeatsPayload(FIRHeartbeatsPayload *he
|
||||
- (void)log;
|
||||
|
||||
#ifndef FIREBASE_BUILD_CMAKE
|
||||
/// Flushes heartbeats from storage into a structured payload of heartbeats.
|
||||
/// Synchronously flushes heartbeats from storage into a structured payload of heartbeats.
|
||||
///
|
||||
/// This API is for clients using platform logging V2.
|
||||
///
|
||||
/// @note This API is thread-safe.
|
||||
/// @return A payload of heartbeats.
|
||||
- (FIRHeartbeatsPayload *)flushHeartbeatsIntoPayload;
|
||||
|
||||
/// Asynchronously flushes heartbeats from storage into a structured payload of heartbeats.
|
||||
///
|
||||
/// This API is for clients using platform logging V2.
|
||||
///
|
||||
/// @note This API is thread-safe.
|
||||
/// @param completionHandler A completion handler to process the flushed payload of heartbeats.
|
||||
- (void)flushHeartbeatsIntoPayloadWithCompletionHandler:
|
||||
(void (^)(FIRHeartbeatsPayload *))completionHandler
|
||||
API_AVAILABLE(ios(13.0), macosx(10.15), macCatalyst(13.0), tvos(13.0), watchos(6.0));
|
||||
#endif // FIREBASE_BUILD_CMAKE
|
||||
|
||||
/// Gets today's corresponding heartbeat code.
|
||||
@@ -88,3 +106,5 @@ NSString *_Nullable FIRHeaderValueFromHeartbeatsPayload(FIRHeartbeatsPayload *he
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
|
||||
#endif // FIREBASECORE_FIRHEARTBEATLOGGER_H
|
||||
|
||||
@@ -14,6 +14,9 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
#ifndef FIREBASECORE_FIRLIBRARY_H
|
||||
#define FIREBASECORE_FIRLIBRARY_H
|
||||
|
||||
#ifndef FIRLibrary_h
|
||||
#define FIRLibrary_h
|
||||
|
||||
@@ -32,13 +35,10 @@ NS_SWIFT_NAME(Library)
|
||||
/// FirebaseApp and participate in dependency resolution and injection.
|
||||
+ (NSArray<FIRComponent *> *)componentsToRegister;
|
||||
|
||||
@optional
|
||||
/// Implement this method if the library needs notifications for lifecycle events. This method is
|
||||
/// called when the developer calls `FirebaseApp.configure()`.
|
||||
+ (void)configureWithApp:(FIRApp *)app;
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
|
||||
#endif /* FIRLibrary_h */
|
||||
|
||||
#endif // FIREBASECORE_FIRLIBRARY_H
|
||||
|
||||
@@ -14,9 +14,12 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
#ifndef FIREBASECORE_FIRLOGGER_H
|
||||
#define FIREBASECORE_FIRLOGGER_H
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
#import <FirebaseCore/FIRLoggerLevel.h>
|
||||
typedef NS_ENUM(NSInteger, FIRLoggerLevel);
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@@ -25,10 +28,10 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
*/
|
||||
typedef NSString *const FIRLoggerService;
|
||||
|
||||
extern FIRLoggerService kFIRLoggerAnalytics;
|
||||
extern FIRLoggerService kFIRLoggerCrash;
|
||||
extern FIRLoggerService kFIRLoggerCore;
|
||||
extern FIRLoggerService kFIRLoggerRemoteConfig;
|
||||
extern NSString *const kFIRLoggerAnalytics;
|
||||
extern NSString *const kFIRLoggerCrash;
|
||||
extern NSString *const kFIRLoggerCore;
|
||||
extern NSString *const kFIRLoggerRemoteConfig;
|
||||
|
||||
/**
|
||||
* The key used to store the logger's error count.
|
||||
@@ -64,6 +67,11 @@ FIRLoggerLevel FIRGetLoggerLevel(void);
|
||||
*/
|
||||
void FIRSetLoggerLevel(FIRLoggerLevel loggerLevel);
|
||||
|
||||
void FIRSetLoggerLevelNotice(void);
|
||||
void FIRSetLoggerLevelWarning(void);
|
||||
void FIRSetLoggerLevelError(void);
|
||||
void FIRSetLoggerLevelDebug(void);
|
||||
|
||||
/**
|
||||
* Checks if the specified logger level is loggable given the current settings.
|
||||
* (required) log level (one of the FirebaseLoggerLevel enum values).
|
||||
@@ -71,6 +79,11 @@ void FIRSetLoggerLevel(FIRLoggerLevel loggerLevel);
|
||||
*/
|
||||
BOOL FIRIsLoggableLevel(FIRLoggerLevel loggerLevel, BOOL analyticsComponent);
|
||||
|
||||
BOOL FIRIsLoggableLevelNotice(void);
|
||||
BOOL FIRIsLoggableLevelWarning(void);
|
||||
BOOL FIRIsLoggableLevelError(void);
|
||||
BOOL FIRIsLoggableLevelDebug(void);
|
||||
|
||||
/**
|
||||
* Logs a message to the Xcode console and the device log. If running from AppStore, will
|
||||
* not log any messages with a level higher than FirebaseLoggerLevelNotice to avoid log spamming.
|
||||
@@ -85,7 +98,7 @@ BOOL FIRIsLoggableLevel(FIRLoggerLevel loggerLevel, BOOL analyticsComponent);
|
||||
* string.
|
||||
*/
|
||||
extern void FIRLogBasic(FIRLoggerLevel level,
|
||||
FIRLoggerService service,
|
||||
NSString *category,
|
||||
NSString *messageCode,
|
||||
NSString *message,
|
||||
// On 64-bit simulators, va_list is not a pointer, so cannot be marked nullable
|
||||
@@ -110,43 +123,51 @@ extern void FIRLogBasic(FIRLoggerLevel level,
|
||||
* Example usage:
|
||||
* FirebaseLogError(kFirebaseLoggerCore, @"I-COR000001", @"Configuration of %@ failed.", app.name);
|
||||
*/
|
||||
extern void FIRLogError(FIRLoggerService service, NSString *messageCode, NSString *message, ...)
|
||||
extern void FIRLogError(NSString *category, NSString *messageCode, NSString *message, ...)
|
||||
NS_FORMAT_FUNCTION(3, 4);
|
||||
extern void FIRLogWarning(FIRLoggerService service, NSString *messageCode, NSString *message, ...)
|
||||
extern void FIRLogWarning(NSString *category, NSString *messageCode, NSString *message, ...)
|
||||
NS_FORMAT_FUNCTION(3, 4);
|
||||
extern void FIRLogNotice(FIRLoggerService service, NSString *messageCode, NSString *message, ...)
|
||||
extern void FIRLogNotice(NSString *category, NSString *messageCode, NSString *message, ...)
|
||||
NS_FORMAT_FUNCTION(3, 4);
|
||||
extern void FIRLogInfo(FIRLoggerService service, NSString *messageCode, NSString *message, ...)
|
||||
extern void FIRLogInfo(NSString *category, NSString *messageCode, NSString *message, ...)
|
||||
NS_FORMAT_FUNCTION(3, 4);
|
||||
extern void FIRLogDebug(FIRLoggerService service, NSString *messageCode, NSString *message, ...)
|
||||
extern void FIRLogDebug(NSString *category, NSString *messageCode, NSString *message, ...)
|
||||
NS_FORMAT_FUNCTION(3, 4);
|
||||
|
||||
// TODO: Come up with a better logging scheme for Swift.
|
||||
/**
|
||||
* Logs a debug message to the Xcode console and the device log. If running from AppStore, will
|
||||
* not log any messages with a level higher than FirebaseLoggerLevelNotice to avoid log spamming.
|
||||
* This function is intended to be used by Swift clients that do not support variadic parameters.
|
||||
* This function is similar to the one above, except it takes a `va_list` instead of the listed
|
||||
* variables.
|
||||
*
|
||||
* @param service The service name of type `FirebaseLoggerService`.
|
||||
* @param messageCode The mesage code. starting with "I-" which means iOS, followed by a capitalized
|
||||
* three-character service identifier and a six digit integer message ID that is unique within the
|
||||
* service. An example of the message code is @"I-COR000001".
|
||||
* @param message The message string.
|
||||
*/
|
||||
extern void FIRLogDebugSwift(FIRLoggerService service, NSString *messageCode, NSString *message);
|
||||
|
||||
/**
|
||||
* Logs a warning message to the Xcode console and the device log. If running from AppStore, will
|
||||
* not log any messages with a level higher than FirebaseLoggerLevelNotice to avoid log spamming.
|
||||
* This function is intended to be used by Swift clients that do not support variadic parameters.
|
||||
* The following functions accept the following parameters in order: (required) service
|
||||
* name of type FirebaseLoggerService.
|
||||
*
|
||||
* @param service The service name of type `FirebaseLoggerService`.
|
||||
* @param messageCode The mesage code. starting with "I-" which means iOS, followed by a capitalized
|
||||
* three-character service identifier and a six digit integer message ID that is unique within the
|
||||
* service. An example of the message code is @"I-COR000001".
|
||||
* @param message The message string.
|
||||
* (required) message code starting from "I-" which means iOS,
|
||||
* followed by a capitalized three-character service identifier and a six digit integer message
|
||||
* ID that is unique within the service. An example of the message code is @"I-COR000001".
|
||||
* See go/firebase-log-proposal for details.
|
||||
* (required) message string which can be a format string.
|
||||
* (optional) A va_list
|
||||
*/
|
||||
extern void FIRLogWarningSwift(FIRLoggerService service, NSString *messageCode, NSString *message);
|
||||
extern void FIRLogBasicError(NSString *category,
|
||||
NSString *messageCode,
|
||||
NSString *message,
|
||||
va_list args_ptr);
|
||||
extern void FIRLogBasicWarning(NSString *category,
|
||||
NSString *messageCode,
|
||||
NSString *message,
|
||||
va_list args_ptr);
|
||||
extern void FIRLogBasicNotice(NSString *category,
|
||||
NSString *messageCode,
|
||||
NSString *message,
|
||||
va_list args_ptr);
|
||||
extern void FIRLogBasicInfo(NSString *category,
|
||||
NSString *messageCode,
|
||||
NSString *message,
|
||||
va_list args_ptr);
|
||||
extern void FIRLogBasicDebug(NSString *category,
|
||||
NSString *messageCode,
|
||||
NSString *message,
|
||||
va_list args_ptr);
|
||||
|
||||
#ifdef __cplusplus
|
||||
} // extern "C"
|
||||
@@ -155,35 +176,17 @@ extern void FIRLogWarningSwift(FIRLoggerService service, NSString *messageCode,
|
||||
NS_SWIFT_NAME(FirebaseLogger)
|
||||
@interface FIRLoggerWrapper : NSObject
|
||||
|
||||
/// Logs a given message at a given log level. This API is effectively a wrapper for the
|
||||
/// `FIRLogBasic` C API.
|
||||
///
|
||||
/// - Parameters:
|
||||
/// - level: The log level to use (defined by `FirebaseLoggerLevel` enum values).
|
||||
/// - service: The service name of type `FirebaseLoggerService`.
|
||||
/// - code: The mesage code. Starting with "I-" which means iOS, followed by a capitalized
|
||||
/// three-character service identifier and a six digit integer message ID that is unique within
|
||||
/// the service. An example of the message code is @"I-COR000001".
|
||||
/// - message: Formatted string to be used as the log's message.
|
||||
/// - args: Arguments list obtained from calling `va_start`, used when message is a format string.
|
||||
+ (void)logWithLevel:(FIRLoggerLevel)level
|
||||
withService:(FIRLoggerService)service
|
||||
withCode:(NSString *)messageCode
|
||||
withMessage:(NSString *)message
|
||||
withArgs:(va_list)args;
|
||||
|
||||
/// Logs a given message at a given log level.
|
||||
///
|
||||
/// - Parameters:
|
||||
/// - level: The log level to use (defined by `FirebaseLoggerLevel` enum values).
|
||||
/// - service: The service name of type `FirebaseLoggerService`.
|
||||
/// - code: The mesage code. Starting with "I-" which means iOS, followed by a capitalized
|
||||
/// - category: The service name of type `FirebaseLoggerService`.
|
||||
/// - code: The message code. Starting with "I-" which means iOS, followed by a capitalized
|
||||
/// three-character service identifier and a six digit integer message ID that is unique within
|
||||
/// the service. An example of the message code is @"I-COR000001".
|
||||
/// - message: Formatted string to be used as the log's message.
|
||||
/// - args: Arguments list obtained from calling `va_start`, used when message is a format string.
|
||||
+ (void)logWithLevel:(FIRLoggerLevel)level
|
||||
service:(FIRLoggerService)service
|
||||
service:(NSString *)category
|
||||
code:(NSString *)code
|
||||
message:(NSString *)message
|
||||
__attribute__((__swift_name__("log(level:service:code:message:)")));
|
||||
@@ -191,3 +194,5 @@ NS_SWIFT_NAME(FirebaseLogger)
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
|
||||
#endif // FIREBASECORE_FIRLOGGER_H
|
||||
|
||||
@@ -1,106 +0,0 @@
|
||||
/*
|
||||
* Copyright 2017 Google
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
#import <FirebaseCore/FIROptions.h>
|
||||
|
||||
/**
|
||||
* Keys for the strings in the plist file.
|
||||
*/
|
||||
extern NSString *const kFIRAPIKey;
|
||||
extern NSString *const kFIRTrackingID;
|
||||
extern NSString *const kFIRGoogleAppID;
|
||||
extern NSString *const kFIRClientID;
|
||||
extern NSString *const kFIRGCMSenderID;
|
||||
extern NSString *const kFIRAndroidClientID;
|
||||
extern NSString *const kFIRDatabaseURL;
|
||||
extern NSString *const kFIRStorageBucket;
|
||||
extern NSString *const kFIRBundleID;
|
||||
extern NSString *const kFIRProjectID;
|
||||
|
||||
/**
|
||||
* Keys for the plist file name
|
||||
*/
|
||||
extern NSString *const kServiceInfoFileName;
|
||||
|
||||
extern NSString *const kServiceInfoFileType;
|
||||
|
||||
/**
|
||||
* This header file exposes the initialization of FirebaseOptions to internal use.
|
||||
*/
|
||||
@interface FIROptions ()
|
||||
|
||||
/**
|
||||
* `resetDefaultOptions` and `initInternalWithOptionsDictionary` are exposed only for unit tests.
|
||||
*/
|
||||
+ (void)resetDefaultOptions;
|
||||
|
||||
/**
|
||||
* Initializes the options with dictionary. The above strings are the keys of the dictionary.
|
||||
* This is the designated initializer.
|
||||
*/
|
||||
- (instancetype)initInternalWithOptionsDictionary:(NSDictionary *)serviceInfoDictionary
|
||||
NS_DESIGNATED_INITIALIZER;
|
||||
|
||||
/**
|
||||
* `defaultOptions` and `defaultOptionsDictionary` are exposed in order to be used in FirebaseApp
|
||||
* and other first party services.
|
||||
*/
|
||||
+ (FIROptions *)defaultOptions;
|
||||
|
||||
+ (NSDictionary *)defaultOptionsDictionary;
|
||||
|
||||
/**
|
||||
* Indicates whether or not Analytics collection was explicitly enabled via a plist flag or at
|
||||
* runtime.
|
||||
*/
|
||||
@property(nonatomic, readonly) BOOL isAnalyticsCollectionExplicitlySet;
|
||||
|
||||
/**
|
||||
* Whether or not Analytics Collection was enabled. Analytics Collection is enabled unless
|
||||
* explicitly disabled in GoogleService-Info.plist.
|
||||
*/
|
||||
@property(nonatomic, readonly) BOOL isAnalyticsCollectionEnabled;
|
||||
|
||||
/**
|
||||
* Whether or not Analytics Collection was completely disabled. If true, then
|
||||
* isAnalyticsCollectionEnabled will be false.
|
||||
*/
|
||||
@property(nonatomic, readonly) BOOL isAnalyticsCollectionDeactivated;
|
||||
|
||||
/**
|
||||
* The version ID of the client library, e.g. @"1100000".
|
||||
*/
|
||||
@property(nonatomic, readonly, copy) NSString *libraryVersionID;
|
||||
|
||||
/**
|
||||
* The flag indicating whether this object was constructed with the values in the default plist
|
||||
* file.
|
||||
*/
|
||||
@property(nonatomic) BOOL usingOptionsFromDefaultPlist;
|
||||
|
||||
/**
|
||||
* Whether or not Measurement was enabled. Measurement is enabled unless explicitly disabled in
|
||||
* GoogleService-Info.plist.
|
||||
*/
|
||||
@property(nonatomic, readonly) BOOL isMeasurementEnabled;
|
||||
|
||||
/**
|
||||
* Whether or not editing is locked. This should occur after `FirebaseOptions` has been set on a
|
||||
* `FirebaseApp`.
|
||||
*/
|
||||
@property(nonatomic, getter=isEditingLocked) BOOL editingLocked;
|
||||
|
||||
@end
|
||||
@@ -12,14 +12,17 @@
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
#ifndef FIREBASECORE_FIREBASECOREINTERNAL_H
|
||||
#define FIREBASECORE_FIREBASECOREINTERNAL_H
|
||||
|
||||
@import FirebaseCore;
|
||||
|
||||
#import "FIRAppInternal.h"
|
||||
#import "FIRComponent.h"
|
||||
#import "FIRComponentContainer.h"
|
||||
#import "FIRComponentType.h"
|
||||
#import "FIRDependency.h"
|
||||
#import "FIRHeartbeatLogger.h"
|
||||
#import "FIRLibrary.h"
|
||||
#import "FIRLogger.h"
|
||||
#import "FIROptionsInternal.h"
|
||||
|
||||
#endif // FIREBASECORE_FIREBASECOREINTERNAL_H
|
||||
|
||||
@@ -66,7 +66,6 @@ static const NSUInteger kExpectedAPIKeyLength = 39;
|
||||
FIRComponent *installationsProvider =
|
||||
[FIRComponent componentWithProtocol:@protocol(FIRInstallationsInstanceProvider)
|
||||
instantiationTiming:FIRInstantiationTimingAlwaysEager
|
||||
dependencies:@[]
|
||||
creationBlock:creationBlock];
|
||||
return @[ installationsProvider ];
|
||||
}
|
||||
@@ -268,6 +267,18 @@ static const NSUInteger kExpectedAPIKeyLength = 39;
|
||||
return isCompatibleVersion;
|
||||
}
|
||||
|
||||
#pragma mark - Force Category Linking
|
||||
|
||||
extern void FIRInclude_FIRInstallationsItem_RegisterInstallationAPI_Category(void);
|
||||
|
||||
/// Does nothing when called, and not meant to be called.
|
||||
///
|
||||
/// This method forces the linker to include categories even if
|
||||
/// users do not include the '-ObjC' linker flag in their project.
|
||||
+ (void)noop {
|
||||
FIRInclude_FIRInstallationsItem_RegisterInstallationAPI_Category();
|
||||
}
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
|
||||
@@ -278,8 +278,7 @@ NS_ASSUME_NONNULL_END
|
||||
[request setValue:authHeader forHTTPHeaderField:@"Authorization"];
|
||||
}
|
||||
// Heartbeat Header.
|
||||
[request setValue:FIRHeaderValueFromHeartbeatsPayload(
|
||||
[self.heartbeatLogger flushHeartbeatsIntoPayload])
|
||||
[request setValue:[self.heartbeatLogger headerValue]
|
||||
forHTTPHeaderField:kFIRInstallationsHeartbeatKey];
|
||||
|
||||
[additionalHeaders
|
||||
|
||||
@@ -140,3 +140,7 @@
|
||||
}
|
||||
|
||||
@end
|
||||
|
||||
/// Stub used to force the linker to include the categories in this file.
|
||||
void FIRInclude_FIRInstallationsItem_RegisterInstallationAPI_Category(void) {
|
||||
}
|
||||
|
||||
@@ -19,8 +19,8 @@
|
||||
static const NSTimeInterval k24Hours = 24 * 60 * 60;
|
||||
static const NSTimeInterval k30Minutes = 30 * 60;
|
||||
|
||||
/** The class represents `FIRInstallationsBackoffController` sate required to calculate next allowed
|
||||
request time. The properties of the class are intentionally immutable because changing them
|
||||
/** The class represents `FIRInstallationsBackoffController` state required to calculate next
|
||||
allowed request time. The properties of the class are intentionally immutable because changing them
|
||||
separately leads to an inconsistent state. */
|
||||
@interface FIRInstallationsBackoffEventData : NSObject
|
||||
|
||||
|
||||
@@ -60,9 +60,13 @@ NSString *const kFIRInstallationsStoreUserDefaultsID = @"com.firebase.FIRInstall
|
||||
NSString *itemID = [FIRInstallationsItem identifierWithAppID:appID appName:appName];
|
||||
return [self installationExistsForAppID:appID appName:appName]
|
||||
.then(^id(id result) {
|
||||
return [self.secureStorage getObjectForKey:itemID
|
||||
objectClass:[FIRInstallationsStoredItem class]
|
||||
accessGroup:self.accessGroup];
|
||||
return [FBLPromise
|
||||
wrapObjectOrErrorCompletion:^(FBLPromiseObjectOrErrorCompletion _Nonnull handler) {
|
||||
[self.secureStorage getObjectForKey:itemID
|
||||
objectClass:[FIRInstallationsStoredItem class]
|
||||
accessGroup:self.accessGroup
|
||||
completionHandler:handler];
|
||||
}];
|
||||
})
|
||||
.then(^id(FIRInstallationsStoredItem *_Nullable storedItem) {
|
||||
if (storedItem == nil) {
|
||||
@@ -81,16 +85,26 @@ NSString *const kFIRInstallationsStoreUserDefaultsID = @"com.firebase.FIRInstall
|
||||
NSString *identifier = [installationItem identifier];
|
||||
|
||||
return
|
||||
[self.secureStorage setObject:storedItem forKey:identifier accessGroup:self.accessGroup].then(
|
||||
^id(id result) {
|
||||
return [self setInstallationExists:YES forItemWithIdentifier:identifier];
|
||||
});
|
||||
[FBLPromise wrapObjectOrErrorCompletion:^(
|
||||
FBLPromiseObjectOrErrorCompletion _Nonnull handler) {
|
||||
[self.secureStorage setObject:storedItem
|
||||
forKey:identifier
|
||||
accessGroup:self.accessGroup
|
||||
completionHandler:handler];
|
||||
}].then(^id(id __unused unusedResult) {
|
||||
return [self setInstallationExists:YES forItemWithIdentifier:identifier];
|
||||
});
|
||||
}
|
||||
|
||||
- (FBLPromise<NSNull *> *)removeInstallationForAppID:(NSString *)appID appName:(NSString *)appName {
|
||||
NSString *identifier = [FIRInstallationsItem identifierWithAppID:appID appName:appName];
|
||||
return [self.secureStorage removeObjectForKey:identifier accessGroup:self.accessGroup].then(
|
||||
^id(id result) {
|
||||
|
||||
return
|
||||
[FBLPromise wrapErrorCompletion:^(FBLPromiseErrorCompletion _Nonnull handler) {
|
||||
[self.secureStorage removeObjectForKey:identifier
|
||||
accessGroup:self.accessGroup
|
||||
completionHandler:handler];
|
||||
}].then(^id(id __unused result) {
|
||||
return [self setInstallationExists:NO forItemWithIdentifier:identifier];
|
||||
});
|
||||
}
|
||||
|
||||
@@ -57,8 +57,7 @@ typedef void (^FIRInstallationsTokenHandler)(
|
||||
* as the ability to delete it. A Firebase Installation is unique by `FirebaseApp.name` and
|
||||
* `FirebaseApp.options.googleAppID` .
|
||||
*/
|
||||
NS_SWIFT_NAME(Installations)
|
||||
@interface FIRInstallations : NSObject
|
||||
NS_SWIFT_NAME(Installations) NS_SWIFT_SENDABLE @interface FIRInstallations : NSObject
|
||||
|
||||
- (instancetype)init NS_UNAVAILABLE;
|
||||
|
||||
|
||||
11
Pods/FirebaseInstallations/README.md
generated
11
Pods/FirebaseInstallations/README.md
generated
@@ -86,7 +86,7 @@ For details on using Firebase from a Framework or a library, refer to [firebase_
|
||||
To develop Firebase software in this repository, ensure that you have at least
|
||||
the following software:
|
||||
|
||||
* Xcode 14.1 (or later)
|
||||
* Xcode 16.2 (or later)
|
||||
|
||||
CocoaPods is still the canonical way to develop, but much of the repo now supports
|
||||
development with Swift Package Manager.
|
||||
@@ -137,7 +137,7 @@ Alternatively, disable signing in each target:
|
||||
|
||||
### Adding a New Firebase Pod
|
||||
|
||||
Refer to [AddNewPod](AddNewPod.md) Markdown file for details.
|
||||
Refer to [AddNewPod](docs/AddNewPod.md) Markdown file for details.
|
||||
|
||||
### Managing Headers and Imports
|
||||
|
||||
@@ -153,7 +153,7 @@ GitHub Actions will verify that any code changes are done in a style-compliant
|
||||
way. Install `clang-format` and `mint`:
|
||||
|
||||
```console
|
||||
brew install clang-format@18
|
||||
brew install clang-format@20
|
||||
brew install mint
|
||||
```
|
||||
|
||||
@@ -235,6 +235,11 @@ at **Project Settings > Cloud Messaging > [Your Firebase App]**.
|
||||
The iOS Simulator cannot register for remote notifications and will not receive push notifications.
|
||||
To receive push notifications, follow the steps above and run the app on a physical device.
|
||||
|
||||
### Vertex AI for Firebase
|
||||
|
||||
See the [Vertex AI for Firebase README](FirebaseVertexAI#development) for
|
||||
instructions about building and testing the SDK.
|
||||
|
||||
## Building with Firebase on Apple platforms
|
||||
|
||||
Firebase provides official beta support for macOS, Catalyst, and tvOS. visionOS and watchOS
|
||||
|
||||
Reference in New Issue
Block a user