本頁面提供有關使用 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
應用程序,某些方案將被默默忽略。應用程式可能無法執行某些深層鏈接,具體取決於它們的添加順序。