การแก้ปัญหาและคำถามที่พบบ่อยเกี่ยวกับแพลตฟอร์ม Apple และ Firebase

หน้านี้มีเคล็ดลับและการแก้ปัญหาเฉพาะแพลตฟอร์มของ Apple ที่คุณอาจพบเมื่อใช้ Firebase

หากพบปัญหาอื่นๆ หรือไม่พบปัญหาที่ระบุไว้ด้านล่าง อย่าลืมอ่านคําถามที่พบบ่อยหลักของ Firebase เพื่อดูคําถามที่พบบ่อยเกี่ยวกับ Firebase ทั้งหมดหรือเฉพาะผลิตภัณฑ์

นอกจากนี้ คุณยังดูรายการปัญหาที่รายงานและการแก้ปัญหาล่าสุดได้ในที่เก็บ GitHub ของ Firebase Apple Platforms SDK เราขอแนะนําให้คุณยื่นปัญหาเกี่ยวกับ SDK ของ Firebase สําหรับแพลตฟอร์ม Apple ของคุณเองในนั้นด้วย

Firebase รองรับ Xcode เวอร์ชันหลักได้สูงสุด 2 เวอร์ชัน โดยไม่รวม Xcode เวอร์ชันที่ Apple ไม่รองรับแล้ว ตัวอย่างเช่น ตั้งแต่เดือนมีนาคม 2019 เป็นต้นไป Apple กำหนดให้แอปทั้งหมดต้องใช้ iOS 12 เป็นอย่างน้อย ซึ่งหมายความว่าระบบจะไม่รองรับ Xcode 9 อีกต่อไปและ Xcode 10 เป็นเวอร์ชันหลักเพียงเวอร์ชันเดียวที่รองรับ

การเปลี่ยนแปลงการรองรับ Xcode เวอร์ชันย่อยหรือเวอร์ชันแพตช์ที่เฉพาะเจาะจง (เช่น 9.2.0 ถึง 9.4.1) จะพิจารณาตามความต้องการของ SDK แพลตฟอร์ม Apple ของ Firebase และแบบสํารวจการใช้งานของนักพัฒนาแอป การเปลี่ยนแปลงเหล่านี้จะแสดงในหมายเหตุเกี่ยวกับรุ่น SDK ของแพลตฟอร์ม Apple ของ Firebase และในหน้าการตั้งค่า SDK ของแพลตฟอร์ม Apple ของ Firebase

หากต้องการดูเวอร์ชัน Xcode ขั้นต่ำที่ SDK รองรับ ให้ดูข้อกำหนดที่ระบุไว้ในเพิ่ม Firebase ลงในโปรเจ็กต์ Apple

การสนับสนุน Firebase สําหรับ Xcode รุ่นเบต้าจะให้บริการอย่าง "สุดความสามารถ" นักพัฒนาแอปสามารถติดตามและส่งปัญหาในที่เก็บ SDK ของแพลตฟอร์ม Apple ของ Firebase ใน GitHub

อัปเกรด Firebase Dependency เป็นเวอร์ชัน 9.6.0 ขึ้นไป แล้วเพิ่ม [ความสามารถในการแชร์คีย์เชน](/docs/ios/troubleshooting-faq#macos-keychain-sharing) ลงในเป้าหมาย

Firebase SDK ใช้พวงกุญแจเพื่อจัดเก็บข้อมูล เช่น รหัสการติดตั้ง Firebase ที่ใช้สําหรับ FCM หากไม่มีสิทธิ์เข้าถึง Keychain Firebase SDK อาจทํางานไม่ถูกต้อง พวงกุญแจ macOS จะทำงานแตกต่างจากพวงกุญแจสไตล์ iOS ที่ใช้บนแพลตฟอร์มอื่นๆ (iOS, tvOS, macCatalyst และ watchOS)

ใน macOS แอปจะใช้คีย์เชนที่แชร์ซึ่งแอปและกระบวนการอื่นๆ อาจแก้ไขได้ ซึ่งต่างจาก iOS ตรงที่ไม่มีพวงกุญแจที่อยู่ในแซนด์บ็อกซ์ที่แอปมีสิทธิ์เข้าถึงโดยปริยาย ดังนั้นเมื่อแอป Mac โต้ตอบกับพวงกุญแจ ระบบจะแจ้งให้ผู้ใช้ขอสิทธิ์เข้าถึงเนื่องจากแอป Mac อาจแก้ไขรายการพวงกุญแจที่ไม่ได้สร้าง Firebase จะแก้ไขความคลาดเคลื่อนนี้ด้วยการค้นหาในพวงกุญแจด้วยคีย์ kSecUseDataProtectionKeychain ซึ่งจะบอกให้แอปค้นหารายการในพวงกุญแจที่เป็นส่วนหนึ่งของกลุ่มการเข้าถึงพวงกุญแจ (นี่คือลักษณะการทำงานเริ่มต้นในแพลตฟอร์มอื่นๆ) จำเป็นต้องใช้ความสามารถการแชร์พวงกุญแจเนื่องจากแอปต้องใช้เพื่อสังเคราะห์กลุ่มเข้าถึงที่แชร์ได้กับเป้าหมายต่างๆ จึงให้สิทธิ์แก่แอปในการเข้าถึงรายการพวงกุญแจในกลุ่มเข้าถึงได้อย่างอิสระ

ดูข้อมูลเพิ่มเติมได้ที่ เอกสารประกอบของ Apple เกี่ยวกับ Keychain

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 บางรายการได้ ทั้งนี้ขึ้นอยู่กับลำดับที่เพิ่ม