此頁面針對您在使用 Firebase 時可能遇到的特定於 Apple 平台的問題提供提示和故障排除。
有其他挑戰或沒有在下面列出您的問題嗎?請務必查看主要的 Firebase 常見問題解答,了解更多泛 Firebase 或產品特定的常見問題解答。
您還可以查看Firebase Apple 平台 SDK GitHub 存儲庫以獲取報告的問題和故障排除的最新列表。我們鼓勵您也在那裡提交您自己的 Firebase Apple 平台 SDK 相關問題!
我的應用提示用戶輸入密碼以訪問 macOS 上的鑰匙串項目。我該如何解決?
將您的 Firebase 依賴項升級到版本 9.6.0 或更高版本,並將 [Keychain Sharing capability](/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
應用程序,某些方案將被靜默忽略。該應用程序可能無法執行某些深層鏈接,具體取決於它們的添加順序。