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