พื้นที่เก็บข้อมูลนี้มีซอร์สโค้ดสำหรับ Firebase SDK แพลตฟอร์ม Apple ทั้งหมด ยกเว้น FirebaseAnalytics
Firebase คือแพลตฟอร์มการพัฒนาแอปที่มีเครื่องมือที่จะช่วยคุณสร้าง เติบโต และสร้างรายได้จากแอปของคุณ ข้อมูลเพิ่มเติมเกี่ยวกับ Firebase สามารถพบได้บนเว็บไซต์ Firebase อย่างเป็นทางการ
ดูส่วนย่อยด้านล่างสำหรับรายละเอียดเกี่ยวกับวิธีการติดตั้งต่างๆ ขอแนะนำให้ติดตั้งไลบรารีที่มีส่วนต่อท้าย Swift
เพื่อรับประสบการณ์ที่ดีที่สุดในการเขียนแอปของคุณใน Swift
การติดตั้งพ็อดมาตรฐาน
ผู้จัดการแพ็คเกจ Swift
การติดตั้งจาก repo GitHub
คาร์เธจทดลอง
สำหรับคำแนะนำในการติดตั้งพ็อดมาตรฐาน โปรดไปที่: https://firebase.google.com/docs/ios/setup
คำแนะนำสำหรับการสนับสนุน Swift Package Manager สามารถพบได้ในไฟล์ SwiftPackageManager.md Markdown
คำแนะนำเหล่านี้สามารถใช้เพื่อเข้าถึงที่เก็บ Firebase ที่สาขา แท็ก หรือคอมมิตอื่นๆ
ดูการอ้างอิงไวยากรณ์ Podfile สำหรับคำแนะนำและตัวเลือกเกี่ยวกับการแทนที่ตำแหน่งต้นทางของพ็อด
การเผยแพร่อย่างเป็นทางการทั้งหมดจะถูกแท็กใน repo นี้และพร้อมใช้งานผ่าน CocoaPods หากต้องการเข้าถึงสแนปช็อตต้นทางในเครื่องหรือสาขาที่ยังไม่ได้เผยแพร่ ให้ใช้คำสั่ง Podfile ดังต่อไปนี้:
วิธีเข้าถึง FirebaseFirestore ผ่านสาขา:
พ็อด 'FirebaseCore', :git => 'https://github.com/firebase/firebase-ios-sdk.git', :branch => 'main'pod 'FirebaseFirestore', :git => 'https:// github.com/firebase/firebase-ios-sdk.git', :branch => 'main'
หากต้องการเข้าถึง FirebaseMessaging ผ่าน repo firebase-ios-sdk เวอร์ชันเช็คเอาท์ ให้ทำดังนี้
พ็อด 'FirebaseCore', :path => '/path/to/firebase-ios-sdk'pod 'FirebaseMessaging', :path => '/path/to/firebase-ios-sdk'
คำแนะนำสำหรับการแจกแจงแบบทดลองของ Carthage สามารถดูได้ที่ Carthage.md
สำหรับรายละเอียดเกี่ยวกับการใช้ Firebase จาก Framework หรือไลบรารี โปรดดูที่ firebase_in_libraries.md
หากต้องการพัฒนาซอฟต์แวร์ Firebase ในพื้นที่เก็บข้อมูลนี้ ตรวจสอบให้แน่ใจว่าคุณมีซอฟต์แวร์ต่อไปนี้เป็นอย่างน้อย:
Xcode 15.2 (หรือใหม่กว่า)
CocoaPods ยังคงเป็นวิธีที่เป็นที่ยอมรับในการพัฒนา แต่ repo ส่วนใหญ่รองรับการพัฒนาด้วย Swift Package Manager แล้ว
ติดตั้งสิ่งต่อไปนี้:
CocoaPods 1.12.0 (หรือใหม่กว่า)
CocoaPods สร้างขึ้น
สำหรับพ็อดที่คุณต้องการพัฒนา:
pod gen Firebase {ชื่อที่นี่}.podspec --local-sources=./ --auto-open --platforms=ios
หมายเหตุ: หากแคช CocoaPods ล้าสมัย คุณอาจต้องรัน pod repo update
ก่อนคำสั่ง pod gen
หมายเหตุ: ตั้งค่าตัวเลือก --platforms
เป็น macos
หรือ tvos
เพื่อพัฒนา/ทดสอบสำหรับแพลตฟอร์มเหล่านั้น ตั้งแต่เวอร์ชัน 10.2 Xcode ไม่สามารถจัดการพื้นที่ทำงาน CocoaPods หลายแพลตฟอร์มได้อย่างเหมาะสม
Firestore มีโปรเจ็กต์ Xcode ในตัวเอง ดูไฟล์ Firestore/README Markdown
pod gen {name here}.podspec --local-sources=./ --auto-open --platforms=ios
ทำเครื่องหมายที่ช่อง Mac ในการตั้งค่า App-iOS Build
ลงชื่อเข้าใช้แอปในแท็บการตั้งค่าการลงนามและความสามารถ
คลิกพ็อดในตัวจัดการโครงการ
เพิ่มการลงนามในแอปโฮสต์ iOS และเป้าหมายการทดสอบหน่วย
เลือกโครงร่างหน่วย-หน่วย
เรียกใช้เพื่อสร้างและทดสอบ
หรือปิดใช้การลงนามในแต่ละเป้าหมาย:
ไปที่แท็บการตั้งค่าการสร้าง
คลิก +
เลือก Add User-Defined Setting
เพิ่มการตั้งค่า CODE_SIGNING_REQUIRED
ด้วยค่า NO
หากต้องการเปิดใช้งานรูปแบบการทดสอบ: ./scripts/setup_spm_tests.sh
open Package.swift
หรือดับเบิลคลิก Package.swift
ใน Finder
Xcode จะเปิดโครงการ
เลือกรูปแบบสำหรับไลบรารีที่จะสร้างหรือชุดทดสอบที่จะเรียกใช้
เลือกแพลตฟอร์มเป้าหมายโดยเลือกปลายทางการวิ่งพร้อมกับโครงร่าง
อ้างถึงไฟล์ AddNewPod Markdown สำหรับรายละเอียด
สำหรับข้อมูลเกี่ยวกับการจัดการส่วนหัวและการนำเข้า โปรดดูที่ไฟล์ HeadersImports Markdown
เพื่อให้แน่ใจว่าโค้ดมีการจัดรูปแบบอย่างสม่ำเสมอ ให้รันสคริปต์ ./scripts/check.sh ก่อนที่จะสร้างคำขอดึง (PR)
GitHub Actions จะตรวจสอบว่าการเปลี่ยนแปลงโค้ดใดๆ เสร็จสิ้นในลักษณะที่สอดคล้องกับสไตล์ ติดตั้ง clang-format
และ mint
:
brew ติดตั้ง clang-format@19brew ติดตั้ง mint
เลือกโครงร่างแล้วกด Command-u เพื่อสร้างส่วนประกอบและรันการทดสอบหน่วย
หากต้องการเรียกใช้แอปตัวอย่างและการทดสอบการรวม คุณจะต้องมีไฟล์ GoogleService-Info.plist
ที่ถูกต้อง โปรเจ็กต์ Firebase Xcode มีไฟล์ plist จำลองที่ไม่มีค่าจริง แต่สามารถแทนที่ด้วยไฟล์ plist จริงได้ หากต้องการรับไฟล์ GoogleService-Info.plist
ของคุณเอง ให้ทำดังนี้
ไปที่คอนโซล Firebase
สร้างโปรเจ็กต์ Firebase ใหม่ หากคุณยังไม่มี
สำหรับแอปตัวอย่างแต่ละรายการที่คุณต้องการทดสอบ ให้สร้างแอป Firebase ใหม่ด้วยตัวระบุชุดของแอปตัวอย่าง (เช่น com.google.Database-Example
)
ดาวน์โหลดผลลัพธ์ GoogleService-Info.plist
และเพิ่มลงในโปรเจ็กต์ Xcode
สำหรับคำแนะนำในการสร้างรายงานความครอบคลุม โปรดดูไฟล์ scripts/code_coverage_report/README Markdown
ดูส่วนด้านล่างสำหรับคำแนะนำพิเศษสำหรับส่วนประกอบเหล่านั้น
สำหรับการพัฒนา Firebase Auth เฉพาะ โปรดดู Auth Sample README เพื่อดูคำแนะนำเกี่ยวกับการสร้างและใช้งานพ็อด FirebaseAuth พร้อมด้วยตัวอย่างและการทดสอบต่างๆ
การทดสอบการรวมฐานข้อมูล Firebase สามารถรันกับโปรแกรมจำลองฐานข้อมูลที่ทำงานในเครื่องหรือกับอินสแตนซ์ที่ใช้งานจริง
หากต้องการรันกับอินสแตนซ์อีมูเลเตอร์ในเครื่อง ให้เรียกใช้ ./scripts/run_database_emulator.sh start
ก่อนที่จะรันการทดสอบการรวมระบบ
หากต้องการทำงานกับอินสแตนซ์ที่ใช้งานจริง ให้ระบุ GoogleServices-Info.plist
ที่ถูกต้องแล้วคัดลอกไปที่ FirebaseDatabase/Tests/Resources/GoogleService-Info.plist
กฎความปลอดภัยของคุณจะต้องตั้งค่าเป็นสาธารณะในขณะที่การทดสอบของคุณกำลังทำงานอยู่
Firebase Dynamic Links เลิกใช้งานแล้ว และไม่ควรใช้ในโครงการใหม่ บริการจะปิดให้บริการในวันที่ 25 สิงหาคม 2025
โปรดดูเอกสารคำถามที่พบบ่อยเรื่องการเลิกใช้งานลิงก์แบบไดนามิกของเราสำหรับคำแนะนำเพิ่มเติม
สำหรับการพัฒนาการตรวจสอบประสิทธิภาพ Firebase เฉพาะ โปรดดู Performance README เพื่อดูคำแนะนำเกี่ยวกับการสร้าง SDK และ Performance TestApp README เพื่อดูคำแนะนำเกี่ยวกับการผสานรวมประสิทธิภาพกับแอปทดสอบ dev
หากต้องการรันการทดสอบ Storage Integration ให้ทำตามคำแนะนำใน StorageIntegration.swift
การแจ้งเตือนแบบพุชสามารถส่งไปยัง App ID ที่จัดเตรียมเป็นพิเศษในพอร์ทัลนักพัฒนาเท่านั้น ในการทดสอบการรับการแจ้งเตือนแบบพุช คุณจะต้อง:
เปลี่ยนตัวระบุชุดรวมของแอพตัวอย่างเป็นสิ่งที่คุณเป็นเจ้าของในบัญชี Apple Developer ของคุณและเปิดใช้งาน ID ของแอพนั้นสำหรับการแจ้งเตือนแบบพุช
คุณจะต้องอัปโหลดคีย์การตรวจสอบสิทธิ์ผู้ให้บริการ APN หรือใบรับรองไปยังคอนโซล Firebase ที่ การตั้งค่าโปรเจ็กต์ > การส่งข้อความบนคลาวด์ > [แอป Firebase ของคุณ]
ตรวจสอบให้แน่ใจว่าอุปกรณ์ iOS ของคุณถูกเพิ่มลงในพอร์ทัล Apple Developer ของคุณเป็นอุปกรณ์ทดสอบ
iOS Simulator ไม่สามารถลงทะเบียนเพื่อรับการแจ้งเตือนระยะไกลได้ และจะไม่ได้รับการแจ้งเตือนแบบพุช หากต้องการรับการแจ้งเตือนแบบพุช ให้ทำตามขั้นตอนด้านบนและเรียกใช้แอปบนอุปกรณ์จริง
ดู Vertex AI สำหรับ Firebase README สำหรับคำแนะนำเกี่ยวกับการสร้างและการทดสอบ SDK
Firebase ให้การสนับสนุนรุ่นเบต้าอย่างเป็นทางการสำหรับ macOS, Catalyst และ tvOS VisionOS และ watchOS ได้รับการสนับสนุนจากชุมชน ขอขอบคุณการมีส่วนร่วมของชุมชนสำหรับการประชาสัมพันธ์หลายแพลตฟอร์ม
ในเวลานี้ ผลิตภัณฑ์ส่วนใหญ่ของ Firebase มีจำหน่ายบนแพลตฟอร์มของ Apple ยังมีช่องว่างอยู่บ้าง โดยเฉพาะบน VisionOS และ watchOS สำหรับรายละเอียดเกี่ยวกับเมทริกซ์การสนับสนุนในปัจจุบัน โปรดดูแผนภูมินี้ในเอกสารประกอบของ Firebase
หากได้รับการสนับสนุน VisionOS จะทำงานตามที่คาดไว้ ยกเว้น Firestore ผ่าน Swift Package Manager ซึ่งจำเป็นต้องใช้การกระจายแหล่งที่มา
หากต้องการเปิดใช้งานการกระจายแหล่งที่มาของ Firestore ให้ออกจาก Xcode และเปิดโปรเจ็กต์ที่ต้องการจากบรรทัดคำสั่งด้วยตัวแปรสภาพแวดล้อม FIREBASE_SOURCE_FIRESTORE
: open --env FIREBASE_SOURCE_FIRESTORE /path/to/project.xcodeproj
หากต้องการกลับไปใช้การกระจายไบนารีของ Firestore ให้ออกจาก Xcode และเปิด Xcode เหมือนปกติ โดยไม่มีตัวแปรสภาพแวดล้อม
ด้วยการสนับสนุนจากชุมชน ทำให้ Firebase SDK จำนวนมากสามารถคอมไพล์ รันการทดสอบหน่วย และทำงานบน watchOS ได้ ดูตัวอย่างแอปนาฬิกาอิสระ
โปรดทราบว่า Firebase ไม่รองรับ watchOS อย่างเป็นทางการ แม้ว่าเราจะพบปัญหาการทดสอบหน่วยพื้นฐานของ GitHub Actions แต่ก็อาจมีการเปลี่ยนแปลงบางอย่างที่ SDK ไม่ทำงานตามที่คาดไว้บน watchOS อีกต่อไป หากคุณพบสิ่งนี้ โปรดแจ้งปัญหา
ในระหว่างการตั้งค่าแอปในคอนโซล คุณอาจเข้าสู่ขั้นตอนที่กล่าวถึงบางอย่าง เช่น "การตรวจสอบว่าแอปสื่อสารกับเซิร์ฟเวอร์ของเราหรือไม่" สิ่งนี้อาศัย Analytics และจะไม่ทำงานบน watchOS คุณสามารถเพิกเฉยต่อข้อความและดำเนินการต่อได้อย่างปลอดภัย SDK ที่เหลือจะทำงานตามที่คาดไว้
watchOS มีการรองรับอย่างจำกัด เนื่องจากข้อจำกัดของ watchOS ข้อยกเว้นของเครื่องและสัญญาณขัดข้องจะไม่ถูกบันทึก (ข้อขัดข้องใน SwiftUI ถูกสร้างขึ้นเป็นข้อยกเว้นของเครื่อง ดังนั้นจะไม่ถูกบันทึก)
ด้วยการสนับสนุนจากชุมชน FirebaseCombineSwift จึงมีการรองรับเฟรมเวิร์ก Combine ของ Apple โมดูลนี้อยู่ระหว่างการพัฒนาและยังไม่รองรับการใช้ในสภาพแวดล้อมการใช้งานจริง สำหรับรายละเอียดเพิ่มเติม โปรดดูเอกสาร
ดูแผนการทำงานสำหรับข้อมูลเพิ่มเติมเกี่ยวกับแผนและคำแนะนำ Firebase Apple SDK Open Source
ดูการสนับสนุนสำหรับข้อมูลเพิ่มเติมเกี่ยวกับการมีส่วนร่วมใน Firebase Apple SDK
เนื้อหาของพื้นที่เก็บข้อมูลนี้ได้รับอนุญาตภายใต้ Apache License เวอร์ชัน 2.0
การใช้ Firebase ของคุณอยู่ภายใต้ข้อกำหนดในการให้บริการสำหรับบริการ Firebase