Create a Cartfile with a subset of the following components - choosing the Firebase components that you want to include in your app. Note that FirebaseAnalyticsBinary must always be included.
Starting with the 6.23.0 release, if you're using FirebaseMessaging, FirebasePerformance, FirebaserRemoteConfig, FirebaseABTesting, FirebaseInAppMessaging, or FirebaseML, FirebaseProtobufBinary must also be included.
binary "https://dl.google.com/dl/firebase/ios/carthage/FirebaseABTestingBinary.json" binary "https://dl.google.com/dl/firebase/ios/carthage/FirebaseAdMobBinary.json" binary "https://dl.google.com/dl/firebase/ios/carthage/FirebaseAnalyticsBinary.json" binary "https://dl.google.com/dl/firebase/ios/carthage/FirebaseAppDistributionBinary.json" binary "https://dl.google.com/dl/firebase/ios/carthage/FirebaseAuthBinary.json" binary "https://dl.google.com/dl/firebase/ios/carthage/FirebaseCrashlyticsBinary.json" binary "https://dl.google.com/dl/firebase/ios/carthage/FirebaseDatabaseBinary.json" binary "https://dl.google.com/dl/firebase/ios/carthage/FirebaseDynamicLinksBinary.json" binary "https://dl.google.com/dl/firebase/ios/carthage/FirebaseFirestoreBinary.json" binary "https://dl.google.com/dl/firebase/ios/carthage/FirebaseFunctionsBinary.json" binary "https://dl.google.com/dl/firebase/ios/carthage/FirebaseGoogleSignInBinary.json" binary "https://dl.google.com/dl/firebase/ios/carthage/FirebaseInAppMessagingBinary.json" binary "https://dl.google.com/dl/firebase/ios/carthage/FirebaseMessagingBinary.json" binary "https://dl.google.com/dl/firebase/ios/carthage/FirebaseMLModelInterpreterBinary.json" binary "https://dl.google.com/dl/firebase/ios/carthage/FirebaseMLVisionBinary.json" binary "https://dl.google.com/dl/firebase/ios/carthage/FirebasePerformanceBinary.json" binary "https://dl.google.com/dl/firebase/ios/carthage/FirebaseProtobufBinary.json" binary "https://dl.google.com/dl/firebase/ios/carthage/FirebaseRemoteConfigBinary.json" binary "https://dl.google.com/dl/firebase/ios/carthage/FirebaseStorageBinary.json"
$(OTHER_LDFLAGS) -ObjCflag to "Other Linker Flags" in "Build Settings".
GoogleService-Info.plist(how to download config file)
If you're including a Firebase component that has resources, copy its bundles
into the Xcode project and make sure they're added to the
Copy Bundle Resources Build Phase.
Please note that you shouldn't add any of the Firebase frameworks to the Carthage build phase
copy-frameworks). The frameworks contain static libraries that are linked at build time.
Some additional libraries/frameworks may be needed depending on which Firebase frameworks you use, for example: libc++.tbd, sqlite3.tbd, StoreKit.framework, etc. For more information, go here.
For Crashlytics, do the following steps to automatically upload your app's symbols so your app's crashes are symbolicated:
.xcodeprojfile lives, eg.
chmod +x scripts/run scripts/upload-symbols
Unlike the CocoaPods distribution, the Carthage distribution is like the Firebase zip release in that all the Firebase components share the same version. Mixing and matching components with different versions may cause linker errors.
Note that the Firebase frameworks in the distribution include static libraries. While it is fine to link these into apps, it will generally not work to depend on them from wrapper dynamic frameworks.