ขณะพัฒนาแอป Apple โดยใช้ Firebase คุณอาจพบแนวคิดที่ไม่คุ้นเคยหรือเจาะจงสำหรับ Firebase หน้านี้มีจุดประสงค์เพื่อตอบคำถามเหล่านั้นหรือแนะนำแหล่งข้อมูลเพื่อดูข้อมูลเพิ่มเติม
หากคุณมีคำถามเกี่ยวกับหัวข้อที่ไม่ได้กล่าวถึงในหน้านี้ โปรดไปที่ชุมชนออนไลน์ของเรา นอกจากนี้ เราจะอัปเดตหน้านี้ด้วยหัวข้อใหม่ๆ เป็นระยะๆ ดังนั้นโปรดกลับมาดูว่าเราได้เพิ่มหัวข้อที่คุณต้องการเรียนรู้แล้วหรือยัง
การรองรับไลบรารี Firebase ตามแพลตฟอร์ม
ตารางต่อไปนี้อธิบายว่าไลบรารี Firebase ใดเข้ากันได้กับแพลตฟอร์ม Apple ใดบ้าง ในตอนนี้ visionOS และ watchOS ได้รับการสนับสนุนจากชุมชนเท่านั้น ดูวิธีการติดตั้งและปัญหาที่ทราบได้ที่ที่เก็บ GitHub ของ Firebase Apple Platforms SDK
| คลัง | iOS | macOS | Mac Catalyst |
tvOS | visionOS | watchOS |
|---|---|---|---|---|---|---|
| A/B Testing | ||||||
| Firebase AI Logic 1 | iOS 15 ขึ้นไป | macOS 12 ขึ้นไป | Catalyst 15+ | tvOS 15 ขึ้นไป (การสนับสนุนจากชุมชนเท่านั้น) | watchOS 8 ขึ้นไป | |
| Analytics | v8.9.0 ขึ้นไป | v8.9.0 ขึ้นไป | v8.9.0 ขึ้นไป | |||
| Analytics ไม่มีรหัสโฆษณา | v8.9.0 ขึ้นไป | v8.9.0 ขึ้นไป | v8.9.0 ขึ้นไป | |||
| Conversion ในอุปกรณ์ Analytics รายการ | ||||||
| App Check ผู้ให้บริการ DeviceCheck |
watchOS 9 ขึ้นไป | |||||
| App Check ผู้ให้บริการ App Attest |
iOS 14 ขึ้นไป | macOS 11 ขึ้นไป | Catalyst 14+ | tvOS 15 ขึ้นไป | watchOS 9 ขึ้นไป | |
| ผู้ให้บริการแก้ไขข้อบกพร่องและผู้ให้บริการที่กำหนดเองApp Check |
||||||
| ผู้ให้บริการ App Check reCAPTCHA |
||||||
| App Distribution | ||||||
| Authentication | บางส่วน | บางส่วน | บางส่วน | บางส่วน | บางส่วน | |
| Cloud Firestore | การเผยแพร่แหล่งที่มาเท่านั้น | |||||
| Cloud Functions | ||||||
| Cloud Messaging | ||||||
| Cloud Storage | ||||||
| Crashlytics | ||||||
| การติดตั้ง Firebase รายการ | ||||||
| In-App Messaging | ||||||
| Performance Monitoring | ||||||
| Realtime Database | ||||||
| Remote Config | ||||||
| SQL Connect 2 | ||||||
| ไลบรารีที่เลิกใช้งานแล้วหรือไม่รองรับ | ||||||
| Dynamic Links | ||||||
| เครื่องมือดาวน์โหลดโมเดล Firebase ML | ||||||
1 Firebase AI Logic เดิมเรียกว่า "Vertex AI in Firebase"
2 Firebase SQL Connect เดิมเรียกว่า "Firebase Data Connect"
App Clips
ไลบรารี Firebase ส่วนใหญ่จะสร้างและทำงานในเป้าหมาย App Clip แต่หลายไลบรารีถูกจำกัดเนื่องจากข้อจำกัดของระบบปฏิบัติการที่สำคัญ ปัญหาที่ทราบแล้วมีดังนี้
- ลิงก์แบบไดนามิกจะส่งผู้ใช้ไปยัง App Clip ไม่ได้หากผู้ใช้แตะลิงก์โดยไม่ได้ติดตั้งแอป
- Firestore และ Realtime Database ไม่สามารถโหลดข้อมูลใน App Clip ได้เนื่องจากการขึ้นต่อกันของ CFStream ที่สำคัญ
ดูรายการปัญหาที่ทราบทั้งหมดเกี่ยวกับ App Clip ได้ที่ที่เก็บ GitHub ของ Firebase
GoogleService-Info.plist
ในการเพิ่ม Firebase ลงในโปรเจ็กต์ Apple คุณต้องเพิ่มไฟล์การกำหนดค่า GoogleService-Info.plist ลงในโปรเจ็กต์ หากต้องการใช้โปรเจ็กต์ Firebase หลายโปรเจ็กต์ในแอปเดียว โปรดดูเอกสารประกอบเกี่ยวกับการกำหนดค่าหลายโปรเจ็กต์
ดูข้อมูลเพิ่มเติมเกี่ยวกับกระบวนการเริ่มต้นแอป Firebase ได้ในเอกสารอ้างอิง Swift
Swift Package Manager
ดูข้อมูลเพิ่มเติมเกี่ยวกับการผสานรวม Swift Package Manager ได้ในคู่มือของเรา
ส่วนขยาย Swift
ส่วนขยาย Swift ของ Firebase Apple Platform SDK เดิมเป็นส่วนเสริมโอเพนซอร์สขนาดเล็กสำหรับไลบรารี Firebase Apple Platform ที่มีอยู่ ซึ่งช่วยให้โค้ดของคุณใช้ฟีเจอร์เฉพาะภาษา Swift ได้ API เหล่านี้ได้รับการเพิ่มลงในไลบรารีหลักโดยตรงแล้ว และไม่จำเป็นต้องรวมแยกต่างหาก หากก่อนหน้านี้คุณมี SDK ส่วนขยาย Swift ในฐานของโค้ด โปรดดูวิธีการอัปเกรดในคำแนะนำในการย้ายข้อมูล
SwiftUI
Firebase รองรับ SwiftUI อย่างเต็มรูปแบบ แม้ว่าการตั้งค่าจะแตกต่างจากแอป UIKit เล็กน้อยเพื่อให้ Firebase ทำงานได้อย่างถูกต้องในสภาพแวดล้อม SwiftUI เต็มรูปแบบ ดูรายละเอียดเพิ่มเติมได้ที่บล็อกโพสต์นี้โดย Peter Friese
แอปพลิเคชัน SwiftUI ต้องปิดใช้ Swizzling เนื่องจากปัญหาที่ทราบ ดูรายละเอียดเพิ่มเติมได้ที่ส่วนการสลับ App Delegate
การสลับ App Delegate
Firebase จะสลับเมธอดบางอย่างในคลาส App Delegate ของแอปเพื่อเชื่อมต่อบริการ Firebase บางอย่างกับ Callback ของระบบปฏิบัติการโดยอัตโนมัติ เช่น FCM และโทเค็น APNs คุณปิดใช้การสลับเมธอดในแอปได้โดยเพิ่มแฟล็ก FirebaseAppDelegateProxyEnabled ในไฟล์ Info.plist ของแอปและตั้งค่าเป็น NO
ผลิตภัณฑ์ Firebase 4 รายการที่ใช้การสลับ App Delegate ได้แก่ Analytics, App Distribution, Authentication และ FCM หากคุณปิดใช้ Swizzling ในแอปพลิเคชันและใช้ผลิตภัณฑ์ต่อไปนี้ โปรดดูคู่มือเฉพาะผลิตภัณฑ์เพื่อดูวิธีใช้ผลิตภัณฑ์โดยไม่มี Swizzling
การรองรับ iOS 14
iOS 14 มีการเปลี่ยนแปลงใหม่ๆ เกี่ยวกับการให้สิทธิ์จากผู้ใช้ที่เกี่ยวข้องกับตัวระบุโฆษณาของผู้ใช้ ดูรายละเอียดเพิ่มเติมว่าแอปของคุณอาจได้รับผลกระทบหรือไม่ในคู่มือการเตรียมพร้อมสําหรับ iOS 14
การสนับสนุนอย่างต่อเนื่องสำหรับ Objective-C
Firebase ได้ตัดสินใจที่จะมุ่งเน้นไปที่ข้อมูลโค้ด Swift และตัวอย่างโค้ดในคู่มือและเอกสารอื่นๆ สำหรับนักพัฒนาซอฟต์แวร์ เพื่อให้การดูแลรักษาเอกสารประกอบเกี่ยวกับแพลตฟอร์ม Apple เป็นไปอย่างง่ายดาย เราจะนำข้อมูลโค้ด Objective-C ออกจากคู่มือตั้งแต่วันที่ 1 มกราคม 2024 เป็นต้นไป เราจะยังคงอัปเดตเอกสารอ้างอิงสำหรับ Objective-C ให้เป็นปัจจุบันสำหรับผลิตภัณฑ์ Firebase ทั้งหมด
แหล่งข้อมูลโอเพนซอร์สสำหรับ SDK ของ Firebase สำหรับแพลตฟอร์ม Apple
Firebase สนับสนุนการพัฒนาโอเพนซอร์ส และเราส่งเสริมการมีส่วนร่วมและความคิดเห็นจากชุมชน
SDK สำหรับแพลตฟอร์ม Apple ของ Firebase
Firebase SDK ทั้งหมดสำหรับแพลตฟอร์ม Apple ยกเว้น Analytics ได้รับการพัฒนาเป็นไลบรารีโอเพนซอร์สในที่เก็บ Firebase GitHub สาธารณะของเรา
FirebaseUI
FirebaseUI คือชุดไลบรารียูทิลิตีที่สร้างขึ้นใน Firebase ซึ่งรวมถึงขั้นตอน UI แบบดรอปอินสำหรับการตรวจสอบสิทธิ์และยูทิลิตีข้อมูลสำหรับ Cloud Firestore และ Realtime Database ดูรายละเอียดเพิ่มเติมเกี่ยวกับ FirebaseUI ได้ในหน้า GitHub
ตัวอย่างคู่มือเริ่มใช้งานฉบับย่อ
Firebase มีคอลเล็กชันตัวอย่างการเริ่มต้นใช้งานด่วนสำหรับ Firebase API ส่วนใหญ่ใน iOS ดูคู่มือเริ่มต้นฉบับย่อเหล่านี้ได้ในที่เก็บคู่มือเริ่มต้นฉบับย่อของ Firebase GitHub สาธารณะ
คุณสามารถเปิดคู่มือเริ่มต้นฉบับย่อแต่ละรายการใน Xcode แล้วเรียกใช้ในอุปกรณ์เคลื่อนที่หรือเครื่องจำลอง หรือจะใช้คู่มือเริ่มต้นฉบับย่อเหล่านี้เป็นโค้ดตัวอย่างสำหรับการใช้ Firebase SDK ก็ได้