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