本頁面提供使用 Firebase 時可能遇到的 Apple 平台專屬問題的提示和疑難排解方法。
有其他問題或未在下方找到您的問題嗎?如要進一步瞭解 Firebase 或特定產品的常見問題,請務必查看 主要 Firebase 常見問題。
您也可以前往 Firebase Apple 平台 SDK GitHub 存放區,查看已回報的問題和疑難排解的最新清單。我們也鼓勵您在該頁面中提交自己的 Firebase Apple 平台 SDK 相關問題!
我的應用程式會提示使用者輸入密碼,以便存取 macOS 上的鑰匙圈項目。該如何解決這個問題?
將 Firebase 依附元件升級至 9.6.0 以上版本,然後將「Keychain 共用功能」新增至目標。
為什麼 Firebase 需要 macOS 上的 Keychain Sharing 功能?
Firebase SDK 會使用鑰匙圈儲存資訊,例如用於 FCM 的 Firebase 安裝 ID。如果沒有 Keychain 存取權,Firebase SDK 可能無法正常運作。macOS 鑰匙圈的運作方式與其他平台 (iOS、tvOS、macCatalyst 和 watchOS) 使用的 iOS 風格鑰匙圈不同。
在 macOS 上,應用程式會使用共用鑰匙圈,這可能會遭其他應用程式和程序修改。與 iOS 不同,Android 沒有應用程式可隱含存取的沙箱鑰匙圈。因此,當 Mac 應用程式與鑰匙圈互動時,系統會提示使用者存取權,因為 Mac 應用程式可能會修改未自行建立的鑰匙圈項目。為解決這個差異,Firebase 會使用 kSecUseDataProtectionKeychain
鍵查詢鑰匙圈,並告知應用程式查詢鑰匙圈存取群組中的鑰匙圈項目 (這是其他平台的預設行為)。應用程式需要使用 Keychain Sharing 功能,才能合成可在目標之間共用的存取群組,進而授予應用程式存取存取群組中 Keychain 項目的權限。
詳情請參閱 Apple 的
Keychain 說明文件
。
在 Xcode 13 以上版本中,為何 UIKit 應用程式無法開啟我在 Info.plist 中註冊的部分網址?
Apple 在 Info.plist
檔案中引入 50 個 LSApplicationQueriesSchemes
項目的上限。2015 年,Apple 推出 LSApplicationQueriesSchemes
,用於限制每個應用程式可發出的網址查詢數量。隨著 Xcode 13 的發布,這些限制會強制執行,但在 Xcode 12 及更早版本中,並沒有有效的配置方案數量限制。
部分 Firebase 產品 (例如 Firebase Authentication 和 Firebase Dynamic Links) 需要使用自訂網址通訊協定,才能重新導向至應用程式。這些網址符合簡潔且一致的網址配置,因此不太可能會超過 50 個連結配置的限制。
請注意,如果應用程式繼續註冊超過 50 個 LSApplicationQueriesSchemes
,系統會自動略過部分配置。應用程式可能無法執行特定深層連結,具體取決於新增的順序。