此儲存庫包含 FirebaseAnalytics 以外的所有 Apple 平台 Firebase SDK 的原始碼。
Firebase 是一個應用程式開發平台,提供可協助您建置、發展應用程式並透過應用程式獲利的工具。有關 Firebase 的更多資訊可以在 Firebase 官方網站上找到。
有關不同安裝方法的詳細信息,請參閱以下小節。如果可用,建議安裝任何帶有Swift
後綴的程式庫,以便在使用 Swift 編寫應用程式時獲得最佳體驗。
標準吊艙安裝
斯威夫特套件管理器
從 GitHub 儲存庫安裝
實驗迦太基
有關標準 Pod 安裝的說明,請造訪:https://firebase.google.com/docs/ios/setup。
有關 Swift Package Manager 支援的說明可以在 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 軟體,請確保您至少擁有以下軟體:
Xcode 15.2(或更高版本)
CocoaPods 仍然是規範的開發方式,但大部分儲存庫現在支援使用 Swift Package Manager 進行開發。
安裝以下內容:
CocoaPods 1.12.0(或更高版本)
CocoaPods 生成
對於您要開發的 pod:
pod gen Firebase{此處為名稱}.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
選取 App-iOS 建置設定中的 Mac 框
在「設定簽名和功能」標籤中對應用程式進行簽名
點選專案管理器中的 Pod
將簽名新增至 iOS 主機應用程式和單元測試目標
選擇單位-單位方案
運行它來建置和測試
或者,停用每個目標中的簽名:
轉到構建設定選項卡
點擊+
選擇Add User-Defined Setting
新增值為NO
的CODE_SIGNING_REQUIRED
設定
啟用測試方案: ./scripts/setup_spm_tests.sh
open Package.swift
或在 Finder 中雙擊Package.swift
。
Xcode 將開啟項目
選擇要建置的庫或要執行的測試套件的方案
透過選擇運行目的地以及方案來選擇目標平台
有關詳細信息,請參閱 AddNewPod Markdown 文件。
有關管理標頭和導入的信息,請參閱 HeadersImports Markdown 文件。
為了確保程式碼格式一致,請在建立拉取請求 (PR) 之前執行腳本 ./scripts/check.sh。
GitHub Actions 將驗證任何程式碼變更是否以符合樣式的方式完成。安裝clang-format
和mint
:
brew install clang-format@19brew 安裝 mint
選擇一個方案並按 Command-u 建置元件並執行其單元測試。
要執行範例應用程式和整合測試,您需要一個有效的GoogleService-Info.plist
檔案。 Firebase Xcode 專案包含沒有實際值的虛擬 plist 文件,但可以用真實的 plist 文件取代它們。若要取得您自己的GoogleService-Info.plist
檔案:
前往 Firebase 控制台
建立一個新的 Firebase 專案(如果您還沒有)
對於要測試的每個範例應用,請使用範例應用的捆綁包識別碼(例如com.google.Database-Example
)建立一個新的 Firebase 應用
下載產生的GoogleService-Info.plist
並將其新增至 Xcode 專案。
有關覆蓋率報告產生說明,請參閱scripts/code_coverage_report/README Markdown 文件。
有關這些組件的任何特殊說明,請參閱以下部分。
對於特定的 Firebase Auth 開發,請參閱 Auth 範例自述文件,以了解有關建置和執行 FirebaseAuth pod 以及各種範例和測試的說明。
Firebase 資料庫整合測試可以針對本地運行的資料庫模擬器或生產實例運行。
若要針對本機模擬器實例執行,請在執行整合測試之前呼叫./scripts/run_database_emulator.sh start
。
若要針對生產實例運行,請提供有效的GoogleServices-Info.plist
並將其複製到FirebaseDatabase/Tests/Resources/GoogleService-Info.plist
。當您的測試運行時,您的安全規則必須設定為公開。
Firebase 動態連結已棄用,不應在新專案中使用。該服務將於 2025 年 8 月 25 日關閉。
請參閱我們的動態連結棄用常見問題解答文件以獲取更多指導。
對於特定的 Firebase 效能監控開發,請參閱 Performance README 以取得建置 SDK 的說明,並參閱 Performance TestApp README 以取得將 Performance 與開發測試應用程式整合的說明。
若要執行儲存整合測試,請依照 StorageIntegration.swift 中的說明進行操作。
推播通知只能傳送到開發者入口網站中專門配置的應用程式 ID。為了測試接收推播通知,您需要:
將範例應用程式的捆綁包識別碼變更為您在 Apple 開發者帳戶中擁有的內容,並為推播通知啟用該應用程式 ID。
您還需要將 APNs 提供者驗證金鑰或憑證上傳到 Firebase 控制台,位置為Project Settings > Cloud Messaging > [Your Firebase App] 。
確保您的 iOS 裝置作為測試裝置新增至您的 Apple 開發者入口網站。
iOS 模擬器無法註冊遠端通知,也不會接收推播通知。若要接收推播通知,請按照上述步驟操作並在實體裝置上執行應用程式。
有關建置和測試 SDK 的說明,請參閱 Vertex AI for Firebase 自述文件。
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 上編譯、執行單元測試並運行。請參閱獨立手錶應用程式範例。
請記住,Firebase 並未正式支援 watchOS。雖然我們可以使用 GitHub Actions 捕獲基本的單元測試問題,但可能會發生一些變化,導致 SDK 在 watchOS 上不再按預期工作。如果您遇到此問題,請提出問題。
在控制台中設定應用程式期間,您可能會遇到一個步驟,其中提到「檢查應用程式是否已與我們的伺服器通訊」之類的內容。這依賴於 Analytics,並且不適用於 watchOS。可以安全地忽略該訊息並繼續,其餘 SDK 將按預期工作。
watchOS 的支援有限。由於watchOS的限制,mach異常和訊號崩潰不會被記錄。 (SwiftUI中的崩潰是作為mach異常生成的,因此不會被記錄)
感謝社群的貢獻, FirebaseCombineSwift包含對 Apple 組合框架的支援。該模組目前正在開發中,尚不支援在生產環境中使用。有關更多詳細信息,請參閱文件。
有關 Firebase Apple SDK 開源計劃和方向的更多信息,請參閱路線圖。
有關為 Firebase Apple SDK 做出貢獻的更多信息,請參閱貢獻。
此儲存庫的內容已根據 Apache 授權 2.0 版授權。
您對 Firebase 的使用受 Firebase 服務的服務條款約束。