本頁面提供有關使用 Firebase 時可能遇到的 Apple 平台特定問題的提示和故障排除。
還面臨其他挑戰或者沒有看到下面列出的您的問題?請務必查看主要 Firebase 常見問題解答,了解更多泛 Firebase 或特定於產品的常見問題解答。
您還可以查看Firebase Apple 平台 SDK GitHub 存儲庫,以獲取已報告問題和故障排除的最新列表。我們鼓勵您也在那裡提交您自己的 Firebase Apple 平台 SDK 相關問題!
我的應用程序提示用戶輸入密碼以訪問 macOS 上的鑰匙串項目。我該如何解決?
將您的 Firebase 依賴項升級到版本 9.6.0 或更高版本,並將[鑰匙串共享功能](/docs/ios/troubleshooting-faq#macos-keychain-sharing) 添加到您的目標。
為什麼 Firebase 需要 macOS 上的鑰匙串共享功能?
Firebase SDK 使用鑰匙串來存儲信息,例如用於 FCM 的 Firebase 安裝 ID。如果沒有鑰匙串訪問權限,Firebase SDK 可能無法正常運行。 macOS 鑰匙串的行為與其他平台(iOS、tvOS、macCatalyst 和 watchOS)上使用的 iOS 風格鑰匙串不同。
在 macOS 上,應用程序使用可能被其他應用程序和進程修改的共享鑰匙串。與 iOS 不同,應用程序沒有隱式訪問的沙盒鑰匙串。因此,當 Mac 應用程序與鑰匙串交互時,系統會提示用戶進行訪問,因為 Mac 應用程序可能正在修改不是它創建的鑰匙串項。為了解決此差異,Firebase 使用kSecUseDataProtectionKeychain
鍵查詢鑰匙串,該鍵告訴應用查詢屬於鑰匙串訪問組的鑰匙串項(這是其他平台上的默認行為)。需要鑰匙串共享功能,因為應用程序需要它來合成可在其目標之間共享的訪問組,從而授予應用程序自由訪問訪問組中的鑰匙串項目的權限。
有關更多信息,請參閱 Apple 的鑰匙串文檔。
在 Xcode 13 及更高版本中,為什麼我的 UIKit 應用程序無法打開我註冊的某些 URL
在我的 Info.plist 中?
Apple 在Info.plist
文件中引入了 50 個LSApplicationQueriesSchemes
條目的限制。 2015 年,Apple 引入了LSApplicationQueriesSchemes
來限制每個應用程序可以進行的 URL 查詢的數量。隨著 Xcode 13 的發布,這些限制被強制執行,而在 Xcode 12 及更早版本中,對方案數量沒有有效的限制。
某些 Firebase 產品(例如 Firebase 身份驗證和 Firebase 動態鏈接)需要使用自定義 URL 方案來重定向到您的應用程序。這些 URL 符合簡潔且一致的 URL 方案,不應嚴重計入 50 個鏈接方案限制。
請注意,對於繼續註冊超過 50 個LSApplicationQueriesSchemes
應用程序,某些方案將被默默忽略。應用程序可能無法執行某些深層鏈接,具體取決於它們的添加順序。