{"id":13470677,"url":"https://github.com/firebase/firebase-ios-sdk","last_synced_at":"2026-04-16T23:04:26.091Z","repository":{"id":37357450,"uuid":"89033556","full_name":"firebase/firebase-ios-sdk","owner":"firebase","description":"Firebase SDK for Apple App Development","archived":false,"fork":false,"pushed_at":"2025-05-11T05:06:25.000Z","size":85206,"stargazers_count":6182,"open_issues_count":421,"forks_count":1601,"subscribers_count":232,"default_branch":"main","last_synced_at":"2025-05-11T16:01:44.583Z","etag":null,"topics":["authentication","database-as-a-service","firebase","firebase-auth","firebase-authentication","firebase-database","firebase-messaging","firebase-storage","ios-sdk","objective-c","push-notifications","storage-service"],"latest_commit_sha":null,"homepage":"https://firebase.google.com","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/firebase.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":"ROADMAP.md","authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2017-04-22T00:26:50.000Z","updated_at":"2025-05-11T10:50:54.000Z","dependencies_parsed_at":"2023-09-22T04:16:01.587Z","dependency_job_id":"1faa3201-38a0-4085-bc9a-bb97f69a1921","html_url":"https://github.com/firebase/firebase-ios-sdk","commit_stats":{"total_commits":7199,"total_committers":269,"mean_commits":"26.762081784386616","dds":0.7382969856924573,"last_synced_commit":"ae2554220afb03a5d6fc389c28a86061a12c7caa"},"previous_names":[],"tags_count":1041,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/firebase%2Ffirebase-ios-sdk","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/firebase%2Ffirebase-ios-sdk/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/firebase%2Ffirebase-ios-sdk/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/firebase%2Ffirebase-ios-sdk/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/firebase","download_url":"https://codeload.github.com/firebase/firebase-ios-sdk/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253602042,"owners_count":21934431,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["authentication","database-as-a-service","firebase","firebase-auth","firebase-authentication","firebase-database","firebase-messaging","firebase-storage","ios-sdk","objective-c","push-notifications","storage-service"],"created_at":"2024-07-31T16:00:33.774Z","updated_at":"2026-04-16T23:04:26.076Z","avatar_url":"https://github.com/firebase.png","language":"C++","readme":"\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://cocoapods.org/pods/Firebase\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/v/release/Firebase/firebase-ios-sdk?style=flat\u0026label=CocoaPods\"/\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://swiftpackageindex.com/firebase/firebase-ios-sdk\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/v/release/Firebase/firebase-ios-sdk?style=flat\u0026label=Swift%20Package%20Index\u0026color=red\"/\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://cocoapods.org/pods/Firebase\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/license/Firebase/firebase-ios-sdk?style=flat\"/\u003e\n  \u003c/a\u003e\u003cbr/\u003e\n  \u003ca href=\"https://swiftpackageindex.com/firebase/firebase-ios-sdk\"\u003e\n    \u003cimg src=\"https://img.shields.io/endpoint?url=https%3A%2F%2Fswiftpackageindex.com%2Fapi%2Fpackages%2Ffirebase%2Ffirebase-ios-sdk%2Fbadge%3Ftype%3Dplatforms\"/\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://swiftpackageindex.com/firebase/firebase-ios-sdk\"\u003e\n    \u003cimg src=\"https://img.shields.io/endpoint?url=https%3A%2F%2Fswiftpackageindex.com%2Fapi%2Fpackages%2Ffirebase%2Ffirebase-ios-sdk%2Fbadge%3Ftype%3Dswift-versions\"/\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n# Firebase Apple Open Source Development\n\nThis repository contains the source code for all Apple platform Firebase SDKs except FirebaseAnalytics.\n\nFirebase is an app development platform with tools to help you build, grow, and\nmonetize your app. More information about Firebase can be found on the\n[official Firebase website](https://firebase.google.com).\n\n## Installation\n\nSee the subsections below for details about the different installation methods. Where\navailable, it's recommended to install any libraries with a `Swift` suffix to get the\nbest experience when writing your app in Swift.\n\n1. [Standard pod install](#standard-pod-install)\n2. [Swift Package Manager](#swift-package-manager)\n3. [Installing from the GitHub repo](#installing-from-github)\n4. [Experimental Carthage](#carthage-ios-only)\n\n### Standard pod install\n\nFor instructions on the standard pod install, visit:\n[https://firebase.google.com/docs/ios/setup](https://firebase.google.com/docs/ios/setup).\n\n### Swift Package Manager\n\nInstructions for [Swift Package Manager](https://swift.org/package-manager/) support can be\nfound in the [SwiftPackageManager.md](SwiftPackageManager.md) Markdown file.\n\n### Installing from GitHub\n\nThese instructions can be used to access the Firebase repo at other branches,\ntags, or commits.\n\n#### Background\n\nSee [the Podfile Syntax Reference](https://guides.cocoapods.org/syntax/podfile.html#pod)\nfor instructions and options about overriding pod source locations.\n\n#### Accessing Firebase Source Snapshots\n\nAll official releases are tagged in this repo and available via CocoaPods. To access a local\nsource snapshot or unreleased branch, use Podfile directives like the following:\n\nTo access FirebaseFirestore via a branch:\n```ruby\npod 'FirebaseCore', :git =\u003e 'https://github.com/firebase/firebase-ios-sdk.git', :branch =\u003e 'main'\npod 'FirebaseFirestore', :git =\u003e 'https://github.com/firebase/firebase-ios-sdk.git', :branch =\u003e 'main'\n```\n\nTo access FirebaseMessaging via a checked-out version of the firebase-ios-sdk repo:\n```ruby\npod 'FirebaseCore', :path =\u003e '/path/to/firebase-ios-sdk'\npod 'FirebaseMessaging', :path =\u003e '/path/to/firebase-ios-sdk'\n```\n\n### Carthage (iOS only)\n\nInstructions for the experimental Carthage distribution can be found at\n[Carthage.md](Carthage.md).\n\n### Using Firebase from a Framework or a library\n\nFor details on using Firebase from a Framework or a library, refer to [firebase_in_libraries.md](docs/firebase_in_libraries.md).\n\n## Development\n\nTo develop Firebase software in this repository, ensure that you have at least\nthe following software:\n\n* Xcode 26.2 (or later)\n\nCocoaPods is still the canonical way to develop, but much of the repo now supports\ndevelopment with Swift Package Manager.\n\n### CocoaPods\n\nInstall the following:\n* CocoaPods 1.12.0 (or later)\n* [CocoaPods generate](https://github.com/square/cocoapods-generate)\n\nFor the pod that you want to develop:\n\n```ruby\npod gen Firebase{name here}.podspec --local-sources=./ --auto-open --platforms=ios\n```\n\nNote: If the CocoaPods cache is out of date, you may need to run\n`pod repo update` before the `pod gen` command.\n\nNote: Set the `--platforms` option to `macos` or `tvos` to develop/test for\nthose platforms. Since 10.2, Xcode does not properly handle multi-platform\nCocoaPods workspaces.\n\nFirestore has a self-contained Xcode project. See\n[Firestore/README](Firestore/README.md) Markdown file.\n\n#### Development for Catalyst\n* `pod gen {name here}.podspec --local-sources=./ --auto-open --platforms=ios`\n* Check the Mac box in the App-iOS Build Settings\n* Sign the App in the Settings Signing \u0026 Capabilities tab\n* Click Pods in the Project Manager\n* Add Signing to the iOS host app and unit test targets\n* Select the Unit-unit scheme\n* Run it to build and test\n\nAlternatively, disable signing in each target:\n* Go to Build Settings tab\n* Click `+`\n* Select `Add User-Defined Setting`\n* Add `CODE_SIGNING_REQUIRED` setting with a value of `NO`\n\n### Swift Package Manager\n* To enable test schemes: `./scripts/setup_spm_tests.sh`\n* `open Package.swift` or double click `Package.swift` in Finder.\n* Xcode will open the project\n  * Choose a scheme for a library to build or test suite to run\n  * Choose a target platform by selecting the run destination along with the scheme\n\n### Adding a New Firebase Pod\n\nRefer to [AddNewPod](docs/AddNewPod.md) Markdown file for details.\n\n### Managing Headers and Imports\n\nFor information about managing headers and imports, see [HeadersImports](HeadersImports.md) Markdown file.\n\n### Code Formatting\n\nTo ensure that the code is formatted consistently, run the script\n[./scripts/check.sh](https://github.com/firebase/firebase-ios-sdk/blob/main/scripts/check.sh)\nbefore creating a pull request (PR).\n\nGitHub Actions will verify that any code changes are done in a style-compliant\nway. Install `clang-format` and `mint`:\n\n```console\nbrew install clang-format@22\nbrew install mint\n```\n\n### Running Unit Tests\n\nSelect a scheme and press Command-u to build a component and run its unit tests.\n\n### Running Sample Apps\nTo run the sample apps and integration tests, you'll need a valid\n`GoogleService-Info.plist\n` file. The Firebase Xcode project contains dummy plist\nfiles without real values, but they can be replaced with real plist files. To get your own\n`GoogleService-Info.plist` files:\n\n1. Go to the [Firebase Console](https://console.firebase.google.com/)\n2. Create a new Firebase project, if you don't already have one\n3. For each sample app you want to test, create a new Firebase app with the sample app's bundle\nidentifier (e.g., `com.google.Database-Example`)\n4. Download the resulting `GoogleService-Info.plist` and add it to the Xcode project.\n\n### Coverage Report Generation\n\nFor coverage report generation instructions, see [scripts/code_coverage_report/README](scripts/code_coverage_report/README.md) Markdown file.\n\n## Specific Component Instructions\nSee the sections below for any special instructions for those components.\n\n### Firebase AI Logic\n\nSee the [Firebase AI Logic README](FirebaseAI#development) for instructions\nabout building and testing the SDK.\n\n### Firebase Auth\n\nFor specific Firebase Auth development, refer to the [Auth Sample README](FirebaseAuth/Tests/Sample/README.md) for instructions about\nbuilding and running the FirebaseAuth pod along with various samples and tests.\n\n### Firebase Database\n\nThe Firebase Database Integration tests can be run against a locally running Database Emulator\nor against a production instance.\n\nTo run against a local emulator instance, invoke `./scripts/run_database_emulator.sh start` before\nrunning the integration test.\n\nTo run against a production instance, provide a valid `GoogleServices-Info.plist` and copy it to\n`FirebaseDatabase/Tests/Resources/GoogleService-Info.plist`. Your Security Rule must be set to\n[public](https://firebase.google.com/docs/database/security/quickstart) while your tests are\nrunning.\n\n### Firebase Dynamic Links\n\nFirebase Dynamic Links is **deprecated** and should not be used in new projects. The service will shut down on August 25, 2025.\n\nPlease see our [Dynamic Links Deprecation FAQ documentation](https://firebase.google.com/support/dynamic-links-faq) for more guidance.\n\n### Firebase Performance Monitoring\n\nFor specific Firebase Performance Monitoring development, see\n[the Performance README](FirebasePerformance/README.md) for instructions about building the SDK\nand [the Performance TestApp README](FirebasePerformance/Tests/TestApp/README.md) for instructions about\nintegrating Performance with the dev test App.\n\n### Firebase Storage\n\nTo run the Storage Integration tests, follow the instructions in\n[StorageIntegration.swift](FirebaseStorage/Tests/Integration/StorageIntegration.swift).\n\n#### Push Notifications\n\nPush notifications can only be delivered to specially provisioned App IDs in the developer portal.\nIn order to test receiving push notifications, you will need to:\n\n1. Change the bundle identifier of the sample app to something you own in your Apple Developer\naccount and enable that App ID for push notifications.\n2. You'll also need to\n[upload your APNs Provider Authentication Key or certificate to the\nFirebase Console](https://firebase.google.com/docs/cloud-messaging/ios/certs)\nat **Project Settings \u003e Cloud Messaging \u003e [Your Firebase App]**.\n3. Ensure your iOS device is added to your Apple Developer portal as a test device.\n\n#### iOS Simulator\n\nThe iOS Simulator cannot register for remote notifications and will not receive push notifications.\nTo receive push notifications, follow the steps above and run the app on a physical device.\n\n## Building with Firebase on Apple platforms\n\nFirebase provides official beta support for macOS, Catalyst, and tvOS. visionOS and watchOS\nare community supported. Thanks to community contributions for many of the multi-platform PRs.\n\nAt this time, most of Firebase's products are available across Apple platforms. There are still\na few gaps, especially on visionOS and watchOS. For details about the current support matrix, see\n[this chart](https://firebase.google.com/docs/ios/learn-more#firebase_library_support_by_platform)\nin Firebase's documentation.\n\n### visionOS\n\nWhere supported, visionOS works as expected with the exception of Firestore via Swift Package\nManager where it is required to use the source distribution.\n\nTo enable the Firestore source distribution, quit Xcode and open the desired\nproject from the command line with the `FIREBASE_SOURCE_FIRESTORE` environment\nvariable: `open --env FIREBASE_SOURCE_FIRESTORE /path/to/project.xcodeproj`.\nTo go back to using the binary distribution of Firestore, quit Xcode and open\nXcode like normal, without the environment variable.\n\n### watchOS\nThanks to contributions from the community, many of Firebase SDKs now compile, run unit tests, and\nwork on watchOS. See the [Independent Watch App Sample](Example/watchOSSample).\n\nKeep in mind that watchOS is not officially supported by Firebase. While we can catch basic unit\ntest issues with GitHub Actions, there may be some changes where the SDK no longer works as expected\non watchOS. If you encounter this, please\n[file an issue](https://github.com/firebase/firebase-ios-sdk/issues).\n\nDuring app setup in the console, you may get to a step that mentions something like \"Checking if the\napp has communicated with our servers\". This relies on Analytics and will not work on watchOS.\n**It's safe to ignore the message and continue**, the rest of the SDKs will work as expected.\n\n#### Additional Crashlytics Notes\n* watchOS has limited support. Due to watchOS restrictions, mach exceptions and signal crashes are\nnot recorded. (Crashes in SwiftUI are generated as mach exceptions, so will not be recorded)\n\n## Combine\nThanks to contributions from the community, _FirebaseCombineSwift_ contains support for Apple's Combine\nframework. This module is currently under development and not yet supported for use in production\nenvironments. For more details, please refer to the [docs](FirebaseCombineSwift/README.md).\n\n## Roadmap\n\nSee [Roadmap](ROADMAP.md) for more about the Firebase Apple SDK Open Source\nplans and directions.\n\n## Contributing\n\nSee [Contributing](CONTRIBUTING.md) for more information on contributing to the Firebase\nApple SDK.\n\n## License\n\nThe contents of this repository are licensed under the\n[Apache License, version 2.0](http://www.apache.org/licenses/LICENSE-2.0).\n\nYour use of Firebase is governed by the\n[Terms of Service for Firebase Services](https://firebase.google.com/terms/).\n","funding_links":[],"categories":["C++","Firebase Tools \u0026 Frameworks","Tools","Objective-C  Stars 1000以内排名整理","HarmonyOS","2、技术示范","Swift","Repos","Libraries","Back-End Development","IOS"],"sub_categories":["Firebase Courses \u0026 Training","VS Code Extensions for Developer Productivity","Windows Manager","2.6 环境和开发框架","Integrations","Mesh networks","Database"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffirebase%2Ffirebase-ios-sdk","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffirebase%2Ffirebase-ios-sdk","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffirebase%2Ffirebase-ios-sdk/lists"}