หน้านี้มีเคล็ดลับและการแก้ปัญหาเฉพาะแพลตฟอร์มของ Apple ที่อาจพบเมื่อใช้ Firebase
หากพบปัญหาอื่นๆ หรือไม่พบปัญหาที่ระบุไว้ด้านล่าง อย่าลืมดูคำถามที่พบบ่อยเกี่ยวกับ Firebase หลักสำหรับคำถามที่พบบ่อยอื่นๆ เกี่ยวกับ Firebase หรือคำถามที่พบบ่อยเฉพาะผลิตภัณฑ์
นอกจากนี้ คุณยังสามารถไปที่ที่เก็บ SDK GitHub สำหรับแพลตฟอร์ม Firebase Apple เพื่อดูรายการปัญหาที่รายงานล่าสุดและการแก้ปัญหา เราขอแนะนําให้คุณยื่นปัญหาเกี่ยวกับ 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 ได้จำกัดจำนวนLSApplicationQueriesSchemes
รายการในไฟล์ Info.plist
ไว้ที่ 50 รายการ ในปี 2015 Apple ได้เปิดตัว LSApplicationQueriesSchemes
เพื่อจํากัดจํานวนการค้นหา URL ที่แต่ละแอปทําได้ เมื่อมีการเปิดตัว Xcode 13 จะมีการบังคับใช้ขีดจำกัดเหล่านี้ ขณะที่ใน Xcode 12 และก่อนหน้านี้ ไม่มีการจำกัดจำนวนรูปแบบที่มีผล
ผลิตภัณฑ์ Firebase บางรายการ เช่น Firebase Authentication และ Firebase Dynamic Links ต้องใช้สกีม URL ที่กำหนดเองเพื่อเปลี่ยนเส้นทางไปยังแอปพลิเคชัน URL เหล่านี้เป็นไปตามรูปแบบ URL ที่กระชับและสอดคล้องกัน ซึ่งไม่ควรนับรวมกับจำนวนรูปแบบลิงก์สูงสุด 50 รายการ
โปรดทราบว่าแอปที่ลงทะเบียน LSApplicationQueriesSchemes
มากกว่า 50 รายการจะยังคงลงทะเบียนได้ แต่ระบบจะไม่สนใจรูปแบบบางอย่าง แอปอาจไม่สามารถเรียกใช้ Deep Link บางรายการได้ ทั้งนี้ขึ้นอยู่กับลำดับที่เพิ่ม