
Firebase开源SDK为Apple平台提供全面开发支持
firebase-ios-sdk是一个开源仓库,包含Firebase为Apple平台开发的SDK源代码。该SDK支持iOS、macOS和tvOS等平台,提供身份验证、实时数据库、云存储等多项功能。开发者可通过CocoaPods或Swift Package Manager安装,使用Swift或Objective-C接口快速集成Firebase服务。值得注意的是,该仓库不包含FirebaseAnalytics相关代码。
本仓库包含除 FirebaseAnalytics 外所有 Apple 平台 Firebase SDK 的源代码。
Firebase 是一个应用开发平台,提供工具帮助你构建、发展和变现你的应用。关于 Firebase 的更多信息可以在官方 Firebase 网站上找到。
请参阅以下小节了解不同安装方法的详细信息。在可用的情况下,建议安装带有 Swift 后缀的库,以获得在 Swift 中编写应用程序时的最佳体验。
有关标准 pod 安装的说明,请访问: https://firebase.google.com/docs/ios/setup。
有关 Swift 包管理器 支持的说明可以在 SwiftPackageManager.md Markdown 文件中找到。
这些说明可用于访问 Firebase 仓库的其他分支、标签或提交。
有关覆盖 pod 源位置的说明和选项,请参阅 Podfile 语法参考。
所有官方版本都在此仓库中标记并可通过 CocoaPods 获得。要访问本地源快照或未发布的分支,请使用如下 Podfile 指令:
要通过分支访问 FirebaseFirestore:
pod 'FirebaseCore', :git => 'https://github.com/firebase/firebase-ios-sdk.git', :branch => 'main' pod 'FirebaseFirestore', :git => 'https://github.com/firebase/firebase-ios-sdk.git', :branch => 'main'
要通过已检出版本的 firebase-ios-sdk 仓库访问 FirebaseMessaging:
pod 'FirebaseCore', :path => '/path/to/firebase-ios-sdk' pod 'FirebaseMessaging', :path => '/path/to/firebase-ios-sdk'
有关实验性 Carthage 分发的说明可以在 Carthage.md 中找到。
有关在框架或库中使用 Firebase 的详细信息,请参阅 firebase_in_libraries.md。
要在此仓库中开发 Firebase 软件,请确保你至少具有以下软件:
CocoaPods 仍然是规范的开发方式,但现在仓库的大部分内容都支持使用 Swift 包管理器进行开发。
安装以下内容:
对于你想开发的 pod:
pod gen Firebase{name here}.podspec --local-sources=./ --auto-open --platforms=ios
注意:如果 CocoaPods 缓存过期,你可能需要在 pod gen 命令之前运行 pod repo update。
注意:将 --platforms 选项设置为 macos 或 tvos 以进行这些平台的开发/测试。自 10.2 版本以来,Xcode 无法正确处理多平台 CocoaPods 工作区。
Firestore 有一个独立的 Xcode 项目。请参阅 Firestore/README Markdown 文件。
pod gen {name here}.podspec --local-sources=./ --auto-open --platforms=ios或者,禁用每个目标的签名:
+添加用户定义设置CODE_SIGNING_REQUIRED 设置,值为 NO./scripts/setup_spm_tests.shopen Package.swift 或在 Finder 中双击 Package.swift。有关详细信息,请参阅 AddNewPod Markdown 文件。
有关管理头文件和导入的信息,请参阅 HeadersImports Markdown 文件。
为确保代码格式一致,在创建拉取请求(PR)之前,请运行脚本 ./scripts/check.sh。
GitHub Actions 将验证任何代码更改是否以符合样式的方式完成。安装 clang-format 和 mint:
brew install clang-format@18 brew install mint
选择一个方案并按 Command-u 键构建组件并运行其单元测试。
要运行示例应用程序和集成测试,你需要一个有效的 GoogleService-Info.plist 文件。Firebase Xcode 项目包含没有真实值的虚拟 plist 文件,但可以用真实的 plist 文件替换它们。要获取你自己的 GoogleService-Info.plist 文件:
com.google.Database-Example)创建一个新的 Firebase 应用程序GoogleService-Info.plist 并将其添加到 Xcode 项目中。有关覆盖率报告生成说明,请参阅 scripts/code_coverage_report/README Markdown 文件。
请参阅下面的章节了解这些组件的任何特殊说明。
对于特定的 Firebase Auth 开发,请参阅 Auth Sample README 了解有关构建和运行 FirebaseAuth pod 以及各种示例和测试的说明。
Firebase Database 集成测试可以针对本地运行的 Database 模拟器或生产实例运行。
要针对本地模拟器实例运行,请在运行集成测试之前调用 ./scripts/run_database_emulator.sh start。
要在生产实例上运行,请提供有效的 GoogleServices-Info.plist 并将其复制到 FirebaseDatabase/Tests/Resources/GoogleService-Info.plist。在运行测试时,您的安全规则必须设置为公开。
Firebase 动态链接已弃用,不应在新项目中使用。该服务将于 2025 年 8 月 25 日关闭。
请查看我们的动态链接弃用常见问题文档以获取更多指导。
对于特定的 Firebase 性能监控开发,请参阅性能 README了解构建 SDK 的说明,以及性能测试应用 README了解将性能集成到开发测试应用的说明。
要运行存储集成测试,请按照StorageIntegration.swift中的说明进行操作。
推送通知只能发送到开发者门户中特别配置的应用 ID。要测试接收推送通知,您需要:
iOS 模拟器无法注册远程通知,也无法接收推送通知。要接收推送通知,请按照上述步骤操作,并在物理设备上运行应用。
有关构建和测试 SDK 的说明,请参阅 Vertex AI for Firebase README。
Firebase 为 macOS、Catalyst 和 tvOS 提供官方测试支持。visionOS 和 watchOS 由社区支持。感谢社区贡献的许多多平台 PR。
目前,Firebase 的大多数产品都可在 Apple 平台上使用。在 visionOS 和 watchOS 上仍有一些差距。有关当前支持矩阵的详细信息,请参阅 Firebase 文档中的此图表。
在支持的情况下,visionOS 可按预期工作,但通过 Swift Package Manager 使用 Firestore 时除外,在这种情况下需要使用源代码分发。
要启用 Firestore 源代码分发,请退出 Xcode 并使用 FIREBASE_SOURCE_FIRESTORE 环境变量从命令行打开所需的项目:open --env FIREBASE_SOURCE_FIRESTORE /path/to/project.xcodeproj。要返回使用 Firestore 的二进制分发,请退出 Xcode 并像平常一样打开 Xcode,不使用环境变量。
感谢社区的贡献,许多 Firebase SDK 现在可以在 watchOS 上编译、运行单元测试和工作。请参阅独立 Watch 应用示例。
请记住,watchOS 不受 Firebase 官方支持。虽然我们可以通过 GitHub Actions 捕获基本的单元测试问题,但可能会有一些变更导致 SDK 在 watchOS 上无法按预期工作。如果您遇到这种情况,请提交问题。
在控制台进行应用设置时,您可能会遇到类似"检查应用是否与我们的服务器通信"的步骤。这依赖于 Analytics,在 watchOS 上不起作用。可以安全地忽略该消息并继续,其他 SDK 将按预期工作。
感谢社区的贡献,FirebaseCombineSwift 包含对 Apple 的 Combine 框架的支持。该模块目前正在开发中,尚未支持在生产环境中使用。有关更多详细信息,请参阅文档。
有关 Firebase Apple SDK 开源计划和方向的更多信息,请参阅路线图。
有关为 Firebase Apple SDK 做出贡献的更多信息,请参阅贡献。
本仓库的内容根据 Apache 许可证 2.0 版授权。
您对 Firebase 的使用受 Firebase 服务条款的约束。


AI一键生成PPT,就用博思AIPPT!
博思AIPPT,新一代的AI生成PPT平台,支持智能生成PPT、AI美化PPT、文本&链接生成PPT、导入Word/PDF/Markdown文档生成PPT等,内置海量精美PPT模板,涵盖商务、教育、科技等不同风格,同时针对每个页面提供多种版式,一键自适应切换,完美适配各种办公场景。


AI赋能电商视觉革命,一站式智能商拍平台
潮际好麦深耕服装行业,是国内AI试衣效果最好的软件。使用先进AIGC能力为电商卖家批量提供优质的、低成本的商拍图。合作品牌有Shein、Lazada、安踏、百丽等65个国内外头部品牌,以及国内10万+淘宝、天猫、京东等主流平台的品牌商家,为卖家节省将近85%的出图成本,提升约3倍出图效率,让品牌能够快速上架。


企业专属的AI法律顾问
iTerms是法大大集团旗下法律子品牌,基于最先进的大语言模型(LLM)、专业的法律知识库和强大的智能体架构,帮助企业扫清合规障碍,筑牢风控防线,成为您企业专属的AI法律顾问。


稳定高效的流量提升解决方案,助力品牌曝光
稳定高效的流量提升解决方案,助力品牌曝光


最新版Sora2模型免费使用,一键生成无水印视频
最新版Sora2模型免费使用,一键生成无水印视频


实时语音翻译/同声传译工具
Transly是一个多场景的AI大语言模型驱动的同声传译、专业翻译助手,它拥有超精准的音频识别翻译能力,几乎零延迟的使用体验和支持多国语言可以让你带它走遍全球,无论你是留学生、商务人士、韩剧美剧爱好者,还是出国游玩、多国会议、跨国追星等等,都可以满足你所有需要同传的场景需求,线上线下通用,扫除语言障碍,让全世界的语言交流不再有国界。


选题、配图、成文,一站式创作,让内容运营更高效
讯飞绘文,一个AI集成平台,支持写作、选题、配图、排版和发布。高效生成适用于各类媒体的定制内容,加速品牌传播,提升内容营销效果。


AI辅助编程,代码自动修复
Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。


最强AI数据分析助手
小浣熊家族Raccoon,您的AI智能助手,致力于通过先进的人工智能技术,为用户提供高效、便捷的智能服务。无论是日常咨询还是专业问题解答,小浣熊都能以快速、准确的响应满足您的需求,让您的生活更加智能便捷。


像人一样思考的AI智能体
imini 是一款超级AI智能体,能根据人类指令,自主思考、自主完成、并且交付结果的AI智能体。
最新AI工具、AI资讯
独家AI资源、AI项目落地

微信扫一扫关注公众号