https://github.com/akaffenberger/firebase-ios-sdk-xcframeworks
A small mirror for https://github.com/firebase/firebase-ios-sdk, to add support for binary (xcframework) distribution with swift package manager.
https://github.com/akaffenberger/firebase-ios-sdk-xcframeworks
binary firebase spm swift
Last synced: about 1 month ago
JSON representation
A small mirror for https://github.com/firebase/firebase-ios-sdk, to add support for binary (xcframework) distribution with swift package manager.
- Host: GitHub
- URL: https://github.com/akaffenberger/firebase-ios-sdk-xcframeworks
- Owner: akaffenberger
- License: mit
- Created: 2021-12-04T00:51:54.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2026-02-26T01:23:14.000Z (4 months ago)
- Last Synced: 2026-03-01T18:43:15.076Z (4 months ago)
- Topics: binary, firebase, spm, swift
- Language: Swift
- Homepage:
- Size: 3.9 MB
- Stars: 161
- Watchers: 5
- Forks: 39
- Open Issues: 11
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# Firebase xcframework integration with SPM
A small mirror for https://github.com/firebase/firebase-ios-sdk, to add support for using their binary dependencies (xcframeworks) with swift package manager.
This repo contains a [Package.swift](https://github.com/akaffenberger/firebase-ios-sdk-xcframeworks/blob/master/Package.swift) file, which uses a `binaryTarget` for all Firebase libraries (xcframework files are hosted in github [releases](https://github.com/akaffenberger/firebase-ios-sdk-xcframeworks/releases)).
## Official SPM Support
Firebase currently supports SPM integration, see the [official SDK integration instructions](https://github.com/firebase/firebase-ios-sdk#installation). This repo is an alternative for integrating with their pre-built xcframeworks for faster build times. See in depth discussion for official SPM support for xcframeworks [here](https://github.com/firebase/firebase-ios-sdk/issues/6564).
# Installation
- Add the package:
```
// swift-tools-version:5.3
// The swift-tools-version declares the minimum version of Swift required to build this package.
import PackageDescription
let package = Package(
name: "MyLibrary",
platforms: [.iOS(.v11)],
products: [
.library(name: "MyLibrary", targets: ["MyLibraryTarget"])
],
dependencies: [
.package(
name: "Firebase",
url: "https://github.com/akaffenberger/firebase-ios-sdk-xcframeworks.git",
.exact("8.10.0")
),
],
targets: [
.target(
name: "MyLibraryTarget",
dependencies: [
.product(name: "Google-Mobile-Ads-SDK", package: "Firebase"),
.product(name: "FirebaseAnalytics", package: "Firebase")
]
)
]
)
```
- Add `-ObjC` to Build Settings -> Other Linker Flags
- Some Firebase frameworks require resource bundles. Drag and drop the ones you need into your target's Copy Bundle Resources Phase:
