หน้านี้มีเคล็ดลับและการแก้ปัญหาเฉพาะสำหรับแพลตฟอร์ม Apple ที่คุณอาจพบเมื่อใช้ Firebase
หากพบปัญหาอื่นๆ หรือไม่เห็นปัญหาของคุณระบุไว้ด้านล่าง อย่าลืมดูคำถามที่พบบ่อยหลักเกี่ยวกับ Firebase เพื่อดูคำถามที่พบบ่อยเกี่ยวกับ Firebase ทั้งหมดหรือเฉพาะผลิตภัณฑ์เพิ่มเติม
นอกจากนี้ คุณยังดูรายการปัญหาที่รายงานและการแก้ปัญหาล่าสุดได้ที่ที่เก็บ GitHub ของ Firebase Apple Platforms SDK เราขอแนะนำให้คุณรายงานปัญหาเกี่ยวกับ Firebase Apple Platforms SDK ของคุณเองที่นั่นด้วย
Firebase รองรับ Xcode เวอร์ชันใดบ้าง
Firebase รองรับ Xcode เวอร์ชันหลักสูงสุด 2 เวอร์ชัน โดยไม่รวม Xcode เวอร์ชันที่ Apple ไม่รองรับแล้ว ตัวอย่างเช่น ตั้งแต่เดือนมีนาคม 2019 Apple กำหนดให้แอปทั้งหมดต้องใช้ iOS 12 เป็นอย่างน้อย ซึ่งหมายความว่าระบบจะยกเลิกการรองรับ Xcode 9 และ Xcode 10 จะเป็นเวอร์ชันหลักเพียงเวอร์ชันเดียวที่รองรับ
การเปลี่ยนแปลงการรองรับ Xcode เวอร์ชันย่อยหรือแพตช์ที่เฉพาะเจาะจง (เช่น 9.2.0 ถึง 9.4.1) จะพิจารณาจากความต้องการของ SDK สำหรับแพลตฟอร์ม Apple ของ Firebase และการสำรวจการใช้งานของนักพัฒนาแอป การเปลี่ยนแปลงเหล่านี้จะแสดงในบันทึกประจำรุ่นของ Firebase Apple Platforms SDK และในหน้าการตั้งค่า Firebase Apple Platforms SDK
หากต้องการดูเวอร์ชัน Xcode ขั้นต่ำที่ SDK รองรับ ให้ตรวจสอบข้อกำหนดที่ระบุไว้ในเพิ่ม Firebase ลงในโปรเจ็กต์ Apple
Firebase รองรับ Xcode เวอร์ชันเบต้าแบบ "สุดความสามารถ" นักพัฒนาแอปสามารถติดตามและส่งปัญหาในที่เก็บ SDK ของแพลตฟอร์ม Firebase Apple ใน GitHub
แอปของฉันแจ้งให้ผู้ใช้ป้อนรหัสผ่านเพื่อเข้าถึงรายการ Keychain ใน macOS ฉันจะแก้ไขได้อย่างไร
อัปเกรดทรัพยากร Dependency ของ Firebase เป็นเวอร์ชัน 9.6.0 ขึ้นไป แล้วเพิ่ม[ความสามารถในการแชร์พวงกุญแจ](/docs/ios/troubleshooting-faq#macos-keychain-sharing)ไปยังเป้าหมาย
เหตุใด Firebase จึงต้องใช้ความสามารถในการแชร์ Keychain ใน macOS
Firebase SDK ใช้ Keychain เพื่อจัดเก็บข้อมูล เช่น รหัสการติดตั้ง 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 ไว้ที่ 50 รายการในไฟล์ Info.plist ในปี 2015 Apple ได้เปิดตัว LSApplicationQueriesSchemes เพื่อจำกัดจำนวนคำค้นหา URL ที่แต่ละแอปสามารถทำได้ เมื่อเปิดตัว Xcode 13 ระบบจะบังคับใช้ขีดจำกัดเหล่านี้ ขณะที่ Xcode 12 และเวอร์ชันก่อนหน้าไม่มีขีดจำกัดจำนวนรูปแบบที่มีผล
ผลิตภัณฑ์ Firebase บางอย่าง เช่น Firebase Authentication และ Firebase Dynamic Links ต้องใช้ URL Scheme ที่กำหนดเองเพื่อเปลี่ยนเส้นทางไปยังแอปพลิเคชันของคุณ URL เหล่านี้เป็นไปตาม URL Scheme ที่กระชับและสอดคล้องกัน ซึ่งไม่ควรนับรวมในขีดจำกัดรูปแบบลิงก์ 50 รายการอย่างมีนัยสำคัญ
โปรดทราบว่าสำหรับแอปที่ยังคงลงทะเบียน LSApplicationQueriesSchemes มากกว่า 50 รายการ ระบบจะละเว้นบางรูปแบบโดยไม่แจ้งให้ทราบ แอปอาจดำเนินการ Deep Link บางรายการไม่ได้ ทั้งนี้ขึ้นอยู่กับลำดับที่เพิ่ม
ฉันควรใส่ประกาศเกี่ยวกับโอเพนซอร์สใดในแอป
สำหรับแพลตฟอร์ม Apple นั้น Firebase SDK จะเผยแพร่ภายใต้ใบอนุญาต Apache 2.0