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