ขณะพัฒนาแอป 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 ขึ้นไป | |||
| Analytics Conversion ในอุปกรณ์ | ||||||
| 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 ได้ แต่หลายไลบรารี ถูกจำกัดเนื่องจากข้อจำกัดของระบบปฏิบัติการพื้นฐาน ปัญหาที่ทราบมีดังนี้
- Dynamic Link จะส่งผู้ใช้ไปยัง App Clip ไม่ได้หากผู้ใช้แตะลิงก์โดยที่ไม่ได้ติดตั้งแอป
- Firestore และ Realtime Database โหลดข้อมูลใน App Clip ไม่ได้เนื่องจากมีการอ้างอิง CFStream ที่อยู่เบื้องหลัง
ดูรายการปัญหาเกี่ยวกับ App Clip ที่ทราบทั้งหมดได้ใน ที่เก็บ GitHub ของ Firebase
GoogleService-Info.plist
คุณต้องเพิ่มไฟล์กำหนดค่า
GoogleService-Info.plistลงในโปรเจ็กต์เพื่อเพิ่ม Firebase ลงในโปรเจ็กต์ Apple หากต้องการใช้โปรเจ็กต์ 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 ต้องปิดใช้การสวิซเซิลเนื่องจากปัญหาที่ทราบ ดูรายละเอียดเพิ่มเติมได้ที่ส่วนการสลับแทนที่ของตัวแทนแอป
การสวิซเซิลตัวแทนแอป
Firebase จะสวิซเซิลเมธอดบางอย่างในคลาส App Delegate ของแอปเพื่อ
เชื่อมต่อบริการบางอย่างของ Firebase กับการเรียกกลับของระบบปฏิบัติการโดยอัตโนมัติ เช่น
FCM และโทเค็น APNs คุณปิดใช้การสวิซเซิลในแอปได้โดย
เพิ่มแฟล็ก FirebaseAppDelegateProxyEnabled ในไฟล์ Info.plist ของแอป
และตั้งค่าเป็น NO
ผลิตภัณฑ์ Firebase 4 รายการใช้การสลับ App Delegate ได้แก่ Analytics, App Distribution, Authentication และ FCM หากคุณปิดใช้การสวิซเซิลในแอปพลิเคชันและใช้ผลิตภัณฑ์ใดผลิตภัณฑ์หนึ่งต่อไปนี้ โปรดดูคู่มือเฉพาะผลิตภัณฑ์เพื่อดูวิธีใช้ผลิตภัณฑ์โดยไม่ต้องสวิซเซิล
การรองรับ iOS 14
iOS 14 มีการเปลี่ยนแปลงใหม่เกี่ยวกับสิทธิ์ของผู้ใช้ที่เกี่ยวข้องกับ ตัวระบุโฆษณาของผู้ใช้ ดูรายละเอียดเพิ่มเติมว่าแอปของคุณอาจได้รับผลกระทบหรือไม่ใน คู่มือการเตรียมตัวสำหรับ iOS 14
การสนับสนุน Objective-C อย่างต่อเนื่อง
Firebase ตัดสินใจที่จะมุ่งเน้นที่ข้อมูลโค้ด Swift และตัวอย่างโค้ดในคำแนะนำและเอกสารอื่นๆ สำหรับนักพัฒนาแอป เพื่อให้การบำรุงรักษาเอกสารประกอบของแพลตฟอร์ม Apple เป็นไปอย่างราบรื่น เราจะนำข้อมูลโค้ด Objective-C ออกจากคำแนะนำ ตั้งแต่วันที่ 1 มกราคม 2024 เป็นต้นไป เราจะยังคงดูแลเอกสารอ้างอิงล่าสุดสำหรับ Objective-C สำหรับผลิตภัณฑ์ Firebase ทั้งหมดต่อไป
แหล่งข้อมูลโอเพนซอร์สสำหรับ Firebase Apple Platform SDK
Firebase สนับสนุนการพัฒนาแบบโอเพนซอร์ส และเราขอแนะนำให้ชุมชน มีส่วนร่วมและแสดงความคิดเห็น
Firebase SDK สำหรับแพลตฟอร์ม Apple
Firebase SDK ทั้งหมดสําหรับแพลตฟอร์ม Apple ยกเว้น Analytics ได้รับการพัฒนาเป็น ไลบรารีโอเพนซอร์สในที่เก็บ Firebase GitHub สาธารณะของเรา
FirebaseUI
FirebaseUI คือชุดไลบรารียูทิลิตีที่สร้างขึ้นบน Firebase ซึ่งรวมถึงโฟลว์ UI แบบดรอปอินสำหรับการตรวจสอบสิทธิ์และยูทิลิตีข้อมูลสำหรับ Cloud Firestore และ Realtime Database ดูรายละเอียดเพิ่มเติมเกี่ยวกับ FirebaseUI ได้ใน หน้า GitHub
ตัวอย่างการเริ่มต้นใช้งานอย่างรวดเร็ว
Firebase มีชุดตัวอย่างเริ่มต้นอย่างรวดเร็วสำหรับ API ของ Firebase ส่วนใหญ่ใน iOS ดูการเริ่มต้นใช้งานฉบับย่อเหล่านี้ได้ใน GitHub สาธารณะของ Firebase ที่เก็บการเริ่มต้นใช้งานฉบับย่อ
คุณเปิดแต่ละ Quickstart ใน Xcode แล้วเรียกใช้บนอุปกรณ์เคลื่อนที่หรือ โปรแกรมจำลองได้ หรือจะใช้คู่มือเริ่มต้นเหล่านี้เป็นโค้ดตัวอย่างสำหรับการใช้ Firebase SDK ก็ได้