หน้านี้มีเคล็ดลับและการแก้ปัญหาเฉพาะแพลตฟอร์มของ Apple ที่อาจพบเมื่อใช้ Firebase
หากพบปัญหาอื่นๆ หรือไม่พบปัญหาที่ระบุไว้ด้านล่าง อย่าลืมอ่านคําถามที่พบบ่อยหลักของ Firebase เพื่อดูคําถามที่พบบ่อยเกี่ยวกับ Firebase ทั้งหมดหรือเฉพาะผลิตภัณฑ์
นอกจากนี้ คุณยังดูรายการปัญหาที่รายงานและการแก้ปัญหาล่าสุดได้ในที่เก็บ GitHub ของ Firebase Apple Platforms SDK เราขอแนะนำให้คุณยื่นปัญหาเกี่ยวกับ SDK ของ Firebase สำหรับแพลตฟอร์ม Apple ของคุณเองในนั้นด้วย
แอปของฉันแจ้งให้ผู้ใช้ป้อนรหัสผ่านเพื่อเข้าถึงรายการใน Keychain บน macOS ฉันจะแก้ไขได้อย่างไร
อัปเกรดทรัพยากร Dependency ของ Firebase เป็นเวอร์ชัน 9.6.0 ขึ้นไป แล้วเพิ่ม [ความสามารถในการแชร์คีย์เชน](/docs/ios/troubleshooting-faq#macos-keychain-sharing) ลงในเป้าหมาย
เหตุใด Firebase จึงต้องใช้ความสามารถในการแชร์ Keychain ใน macOS
Firebase SDK ใช้พวงกุญแจเพื่อจัดเก็บข้อมูล เช่น รหัสการติดตั้ง Firebase ที่ใช้สําหรับ FCM หากไม่มีสิทธิ์เข้าถึง Keychain Firebase SDK อาจทํางานไม่ถูกต้อง พวงกุญแจ macOS จะทำงานแตกต่างจากพวงกุญแจสไตล์ iOS ที่ใช้บนแพลตฟอร์มอื่นๆ (iOS, tvOS, macCatalyst และ watchOS)
ใน macOS แอปจะใช้คีย์เชนที่แชร์ซึ่งแอปและกระบวนการอื่นๆ อาจแก้ไขได้ ซึ่งต่างจาก iOS ตรงที่ไม่มีพวงกุญแจที่อยู่ในแซนด์บ็อกซ์ที่แอปมีสิทธิ์เข้าถึงโดยปริยาย ดังนั้นเมื่อแอป Mac โต้ตอบกับพวงกุญแจ ระบบจะแจ้งให้ผู้ใช้ขอสิทธิ์เข้าถึงเนื่องจากแอป Mac อาจแก้ไขรายการพวงกุญแจที่ไม่ได้สร้าง Firebase จะแก้ไขความคลาดเคลื่อนนี้ด้วยการค้นหา keychain ด้วยคีย์ kSecUseDataProtectionKeychain
ซึ่งจะบอกแอปให้ค้นหารายการใน keychain ที่เป็นส่วนหนึ่งในกลุ่มการเข้าถึง keychain (นี่เป็นลักษณะการทำงานเริ่มต้นในแพลตฟอร์มอื่นๆ) จำเป็นต้องใช้ความสามารถการแชร์พวงกุญแจเนื่องจากแอปต้องใช้เพื่อสังเคราะห์กลุ่มเข้าถึงที่แชร์ได้กับเป้าหมายต่างๆ ซึ่งจะให้สิทธิ์แก่แอปในการเข้าถึงรายการในพวงกุญแจในกลุ่มเข้าถึงได้อย่างอิสระ
ดูข้อมูลเพิ่มเติมได้ที่
เอกสารประกอบของ Apple เกี่ยวกับ
Keychain
ใน Xcode เวอร์ชัน 13 ขึ้นไป เหตุใดแอป UIKit จึงเปิด URL บางรายการที่ฉันลงทะเบียน
ใน Info.plist ไม่ได้
Apple กำหนดขีดจำกัดไว้ที่ 50 LSApplicationQueriesSchemes
รายการในไฟล์ Info.plist
ในปี 2015 Apple ได้เปิดตัว LSApplicationQueriesSchemes
เพื่อจํากัดจํานวนการค้นหา URL ที่แต่ละแอปทําได้ เมื่อเปิดตัว Xcode 13 ระบบจะบังคับใช้ขีดจํากัดเหล่านี้ ในขณะที่ Xcode 12 และเวอร์ชันก่อนหน้าไม่มีการจํากัดจำนวนรูปแบบที่มีประสิทธิภาพ
ผลิตภัณฑ์ Firebase บางรายการ เช่น Firebase Authentication และ Firebase Dynamic Links ต้องใช้สกีม URL ที่กำหนดเองเพื่อเปลี่ยนเส้นทางไปยังแอปพลิเคชัน URL เหล่านี้เป็นไปตามรูปแบบ URL ที่กระชับและสอดคล้องกัน ซึ่งไม่ควรนับรวมกับจำนวนรูปแบบลิงก์สูงสุด 50 รายการ
โปรดทราบว่าแอปที่ลงทะเบียน LSApplicationQueriesSchemes
มากกว่า 50 รายการจะยังคงลงทะเบียนได้ แต่ระบบจะไม่สนใจรูปแบบบางอย่าง แอปอาจไม่สามารถเรียกใช้ Deep Link บางรายการได้ ทั้งนี้ขึ้นอยู่กับลำดับที่เพิ่ม