หน้านี้นำเสนอเคล็ดลับและการแก้ปัญหาเฉพาะแพลตฟอร์มของ Apple ที่คุณอาจพบเมื่อใช้ Firebase
พบปัญหาอื่นๆ หรือไม่เห็นปัญหาของคุณตามที่ระบุไว้ด้านล่างนี้ อย่าลืมตรวจสอบ คำถามที่พบบ่อยเกี่ยวกับ Firebase หลัก เพื่อดูคำถามที่พบบ่อยเกี่ยวกับ pan-Firebase หรือเฉพาะผลิตภัณฑ์
คุณยังสามารถตรวจสอบ repo SDK GitHub แพลตฟอร์ม Firebase Apple ของ Apple เพื่อดูรายการปัญหาและการแก้ไขปัญหาที่รายงานล่าสุด เราขอแนะนำให้คุณยื่นเรื่องที่เกี่ยวข้องกับ SDK แพลตฟอร์ม Firebase Apple ของคุณเองที่นั่นด้วย
Firebase รองรับ Xcode เวอร์ชันใดบ้าง
Firebase รองรับ Xcode ได้ถึงสองเวอร์ชันหลัก ไม่รวมเวอร์ชันของ Xcode ที่ Apple ไม่รองรับอีกต่อไป ตัวอย่างเช่น ตั้งแต่เดือนมีนาคม 2019 เป็นต้นไป Apple จำเป็นต้องมี iOS 12 เป็นอย่างน้อยในทุกแอป ซึ่งหมายความว่าการรองรับ Xcode 9 ถูกยกเลิก และ Xcode 10 เป็นเวอร์ชันหลักเพียงเวอร์ชันเดียวที่รองรับ
การเปลี่ยนแปลงเพื่อรองรับ Xcode เวอร์ชันรองหรือแพตช์เฉพาะ (เช่น 9.2.0 ถึง 9.4.1) จะพิจารณาจากความต้องการของ SDK แพลตฟอร์ม Firebase Apple และการสำรวจการใช้งานของนักพัฒนา การเปลี่ยนแปลงเหล่านี้แสดงให้เห็นใน บันทึกประจำรุ่น SDK แพลตฟอร์ม Firebase Apple และใน หน้าการตั้งค่า SDK แพลตฟอร์ม Firebase Apple
หากต้องการดูเวอร์ชัน Xcode ขั้นต่ำที่ SDK รองรับ ให้ตรวจสอบข้อกำหนดที่ระบุไว้ใน เพิ่ม Firebase ให้กับโปรเจ็กต์ Apple ของคุณ
การสนับสนุน Firebase สำหรับ Xcode รุ่นเบต้านั้นมีให้ใช้งานบนพื้นฐาน "ความพยายามอย่างดีที่สุด" นักพัฒนาสามารถติดตามและส่งปัญหาใน พื้นที่เก็บข้อมูล SDK แพลตฟอร์ม Firebase Apple บน GitHub
แอพของฉันแจ้งให้ผู้ใช้ใส่รหัสผ่านเพื่อเข้าถึงรายการพวงกุญแจบน macOS ฉันจะแก้ไขปัญหานี้ได้อย่างไร?
อัปเกรดการพึ่งพา Firebase ของคุณเป็นเวอร์ชัน 9.6.0 หรือสูงกว่า และเพิ่ม [ความสามารถในการแชร์พวงกุญแจ](/docs/ios/troubleshooting-faq#macos-keychain-sharing) ให้กับเป้าหมายของคุณ
เหตุใด Firebase จึงต้องการความสามารถในการแชร์พวงกุญแจบน macOS
Firebase SDK ใช้พวงกุญแจเพื่อจัดเก็บข้อมูล เช่น รหัสการติดตั้ง Firebase ที่ใช้สำหรับ FCM หากไม่มีการเข้าถึงพวงกุญแจ Firebase SDK อาจทำงานไม่ถูกต้อง พวงกุญแจ macOS ทำงานแตกต่างจากพวงกุญแจสไตล์ iOS ที่ใช้บนแพลตฟอร์มอื่น (iOS, tvOS, macCatalyst และ watchOS)
บน macOS แอพจะใช้พวงกุญแจที่ใช้ร่วมกันซึ่งอาจได้รับการแก้ไขโดยแอพและกระบวนการอื่นๆ ต่างจาก iOS ตรงที่ไม่มีพวงกุญแจแบบแซนด์บ็อกซ์ที่แอปสามารถเข้าถึงได้โดยปริยาย ดังนั้น เมื่อแอพ Mac โต้ตอบกับพวงกุญแจ ระบบจะแจ้งให้ผู้ใช้เข้าถึงเนื่องจากแอพ Mac อาจแก้ไขรายการพวงกุญแจที่ไม่ได้สร้างขึ้น เพื่อแก้ไขความคลาดเคลื่อนนี้ Firebase จะค้นหาพวงกุญแจด้วยคีย์ kSecUseDataProtectionKeychain
ซึ่งจะบอกให้แอปค้นหารายการพวงกุญแจที่เป็นส่วนหนึ่งของกลุ่มการเข้าถึงพวงกุญแจ (นี่คือการทำงานเริ่มต้นบนแพลตฟอร์มอื่น) จำเป็นต้องมีความสามารถในการแชร์พวงกุญแจเนื่องจากแอพจำเป็นต้องสังเคราะห์กลุ่มการเข้าถึงที่สามารถแชร์ระหว่างเป้าหมายได้ จึงเป็นการให้สิทธิ์แก่แอพในการเข้าถึงรายการพวงกุญแจในกลุ่มการเข้าถึงได้อย่างอิสระ
สำหรับข้อมูลเพิ่มเติม โปรดดู เอกสารประกอบพวงกุญแจ ของ Apple
ใน 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 บางรายการได้ ขึ้นอยู่กับลำดับที่เพิ่มเข้าไป