FirebaseCore Framework Reference
Stay organized with collections
Save and categorize content based on your preferences.
Classes
The following classes are available globally.
-
The entry point of Firebase SDKs.
Initialize and configure FirebaseApp
using FirebaseApp.configure()
or other customized ways as shown below.
The logging system has two modes: default mode and debug mode. In default mode, only logs with
log level Notice, Warning and Error will be sent to device. In debug mode, all logs will be sent
to device. The log levels that Firebase uses are consistent with the ASL log levels.
Enable debug mode by passing the -FIRDebugEnabled
argument to the application. You can add this
argument in the application’s Xcode scheme. When debug mode is enabled via -FIRDebugEnabled
,
further executions of the application will also be in debug mode. In order to return to default
mode, you must explicitly disable the debug mode with the application argument
-FIRDebugDisabled
.
It is also possible to change the default logging level in code by calling
FirebaseConfiguration.shared.setLoggerLevel(_:)
with the desired level.
Declaration
Swift
class FirebaseApp : NSObject
-
This interface provides global level properties that the developer can tweak.
Declaration
Swift
class FirebaseConfiguration : NSObject
-
This class provides constant fields of Google APIs.
Declaration
Swift
class FirebaseOptions : NSObject, NSCopying
-
A Timestamp represents a point in time independent of any time zone or calendar, represented as
seconds and fractions of seconds at nanosecond resolution in UTC Epoch time. It is encoded using
the Proleptic Gregorian Calendar which extends the Gregorian calendar backwards to year one. It
is encoded assuming all minutes are 60 seconds long, i.e. leap seconds are “smeared” so that no
leap second table is needed for interpretation. Range is from 0001-01-01T00:00:00Z to
9999-12-31T23:59:59.999999999Z. By restricting to that range, we ensure that we can convert to
and from RFC 3339 date strings.
Declaration
Swift
class Timestamp : NSObject, NSCopying, @unchecked Sendable
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2025-03-11 UTC.
[null,null,["Last updated 2025-03-11 UTC."],[],[],null,["Classes\n\nThe following classes are available globally.\n- `\n ``\n ``\n `\n\n [FirebaseApp](/docs/reference/swift/firebasecore/api/reference/Classes/FirebaseApp)`\n ` \n The entry point of Firebase SDKs.\n\n Initialize and configure `FirebaseApp` using [FirebaseApp.configure()](/docs/reference/swift/firebasecore/api/reference/Classes/FirebaseApp#/c:objc(cs)FIRApp(cm)configure)\n or other customized ways as shown below.\n\n The logging system has two modes: default mode and debug mode. In default mode, only logs with\n log level Notice, Warning and Error will be sent to device. In debug mode, all logs will be sent\n to device. The log levels that Firebase uses are consistent with the ASL log levels.\n\n Enable debug mode by passing the `-FIRDebugEnabled` argument to the application. You can add this\n argument in the application's Xcode scheme. When debug mode is enabled via `-FIRDebugEnabled`,\n further executions of the application will also be in debug mode. In order to return to default\n mode, you must explicitly disable the debug mode with the application argument\n `-FIRDebugDisabled`.\n\n It is also possible to change the default logging level in code by calling\n `FirebaseConfiguration.shared.setLoggerLevel(_:)` with the desired level. \n\n Declaration \n Swift \n\n class FirebaseApp : NSObject\n\n- `\n ``\n ``\n `\n\n [FirebaseConfiguration](/docs/reference/swift/firebasecore/api/reference/Classes/FirebaseConfiguration)`\n ` \n This interface provides global level properties that the developer can tweak. \n\n Declaration \n Swift \n\n class FirebaseConfiguration : NSObject\n\n- `\n ``\n ``\n `\n\n [FirebaseOptions](/docs/reference/swift/firebasecore/api/reference/Classes/FirebaseOptions)`\n ` \n This class provides constant fields of Google APIs. \n\n Declaration \n Swift \n\n class FirebaseOptions : NSObject, NSCopying\n\n- `\n ``\n ``\n `\n\n [Timestamp](/docs/reference/swift/firebasecore/api/reference/Classes/Timestamp)`\n ` \n A Timestamp represents a point in time independent of any time zone or calendar, represented as\n seconds and fractions of seconds at nanosecond resolution in UTC Epoch time. It is encoded using\n the Proleptic Gregorian Calendar which extends the Gregorian calendar backwards to year one. It\n is encoded assuming all minutes are 60 seconds long, i.e. leap seconds are \"smeared\" so that no\n leap second table is needed for interpretation. Range is from 0001-01-01T00:00:00Z to\n 9999-12-31T23:59:59.999999999Z. By restricting to that range, we ensure that we can convert to\n and from RFC 3339 date strings. \n See\n \u003chttps://github.com/google/protobuf/blob/main/src/google/protobuf/timestamp.proto\u003e for the reference timestamp definition. \n\n Declaration \n Swift \n\n class Timestamp : NSObject, NSCopying, @unchecked Sendable"]]