ย้ายข้อมูลจาก CocoaPods

CocoaPods ประกาศ ว่าจะเปลี่ยนเป็นแบบอ่านอย่างเดียวในเดือนธันวาคม 2026 หลังจากนั้นจะเผยแพร่ Pod เวอร์ชันใหม่ ไม่ได้อีกต่อไป ส่วนต่อไปนี้จะให้ข้อมูลเพิ่มเติมเกี่ยวกับการเปลี่ยนแปลงนี้ และอธิบายวิธีโยกย้ายแอปไปยังเครื่องมือจัดการการติดตั้งอื่นๆ

ภาพรวม

  • มีการเปลี่ยนแปลงอะไรบ้าง CocoaPods จะเปลี่ยนไปอยู่ในสถานะอ่านอย่างเดียว และ Firebase จะหยุดเผยแพร่เวอร์ชันใหม่ไปยัง CocoaPods ในเดือนตุลาคม 2026
  • แอปของฉันจะใช้งานไม่ได้ไหม ไม่ เวอร์ชันที่มีอยู่ของไลบรารี Firebase จะยังคงใช้งานได้ในรีจิสทรี CocoaPods อย่างไม่มีกำหนด และแอปที่ใช้ CocoaPod เวอร์ชันเหล่านั้นจะยังคงทำงานได้ตามปกติ
  • ทำไมต้องโยกย้าย หากต้องการรับฟีเจอร์ล่าสุด การปรับปรุงประสิทธิภาพ และการแก้ไขที่สำคัญต่อไป คุณควรโยกย้ายไปใช้ Swift Package Manager หรือ การติดตั้งด้วยตนเอง

Firebase จะหยุดเผยแพร่เวอร์ชันใหม่ไปยัง CocoaPods ในเดือนตุลาคม 2026 เพื่อให้สอดคล้องกับการประกาศจาก CocoaPods การเปลี่ยนแปลงเหล่านี้จะส่งผลต่อ Pod ทั้งหมดต่อไปนี้และทรัพยากร Dependency ย่อย

Pod ของ Firebase ที่ได้รับผลกระทบ
Firebase FirebaseAuth FirebaseInstallations
FirebaseABTesting FirebaseCore FirebaseMessaging
FirebaseAI FirebaseCrashlytics FirebaseMLModelDownloader
FirebaseAILogic FirebaseDatabase FirebasePerformance
FirebaseAnalytics FirebaseFirestore FirebaseRemoteConfig
FirebaseAppCheck FirebaseFunctions FirebaseStorage
FirebaseAppDistribution FirebaseInAppMessaging

นอกจากนี้ การเปลี่ยนแปลงเหล่านี้จะส่งผลต่อการเผยแพร่ Firebase ทั้งหมดที่รวม Firebase Apple SDK ดั้งเดิมไว้ด้วย ซึ่งรวมถึง Firebase Unity SDK, Firebase C++ SDK และ FlutterFire

โยกย้ายแอป Apple

หากคุณกำลังโยกย้ายทรัพยากร Dependency อื่นๆ (ที่ไม่ใช่ Firebase) ออกจาก CocoaPods โปรดทราบว่าแนวทางปฏิบัติแนะนำของอุตสาหกรรมคือการใช้วิธีการติดตั้งเพียงวิธีเดียวสำหรับทั้งโปรเจ็กต์ การใช้ CocoaPods และ Swift Package Manager (SPM) ร่วมกันภายในเป้าหมายเดียวกันอาจทำให้เกิดวงจรทรัพยากร Dependency ที่ซับซ้อนและข้อผิดพลาดในการสร้าง หากทรัพยากร Dependency ที่ไม่ใช่ Firebase ยังไม่รองรับ SPM การใช้ การติดตั้งด้วยตนเอง สำหรับไลบรารี Firebase เป็นวิธีที่เสถียรที่สุดในการรวมเวิร์กโฟลว์เข้าด้วยกันขณะ โยกย้าย

Swift Package Manager (SPM)

Swift Package Manager คืออะไร

Swift Package Manager (SPM) เป็นเครื่องมือดั้งเดิมของ Apple สำหรับจัดการการเผยแพร่โค้ด ซึ่งผสานรวมเข้ากับ Xcode โดยตรง จึงไม่จำเป็นต้องใช้เครื่องมือ CLI ภายนอก เช่น CocoaPods และทำให้โครงสร้างโปรเจ็กต์ง่ายขึ้นโดยไม่จำเป็นต้องใช้ .xcworkspace สำหรับการกำหนดค่ามาตรฐานส่วนใหญ่

โยกย้ายไปใช้ Swift Package Manager

สำหรับโปรเจ็กต์ส่วนใหญ่ การย้ายข้อมูลไปใช้ Swift Package Manager ไม่จำเป็นต้องเปลี่ยนโค้ดของแอปพลิเคชัน เว้นแต่ว่าโปรเจ็กต์ของคุณมีการกำหนดค่า Xcode ที่กำหนดเองหรือทรัพยากร Dependency ที่ใช้สคริปต์การติดตั้ง CocoaPods เป็นจำนวนมาก

วิธีโยกย้ายจาก CocoaPods ไปใช้ Swift Package Manager

  1. ตรวจสอบว่าทรัพยากร Dependency ของแต่ละแอปของคุณรองรับ Swift Package Manager ไลบรารี Firebase ทั้งหมดรองรับ SPM แต่คุณจะต้องตรวจสอบการรองรับ SPM สำหรับทรัพยากร Dependency ที่ไม่ใช่ Firebase ในที่เก็บ GitHub หรือหน้าผลิตภัณฑ์ หากทรัพยากร Dependency ที่ไม่ใช่ Firebase บางรายการไม่รองรับ SPM แล้ว การใช้ การติดตั้งด้วยตนเอง แทน SPM เป็นเส้นทางการโยกย้ายที่ เสถียรที่สุดจาก CocoaPods
  2. ปิด Xcode แล้วนำ CocoaPods ออกจากโปรเจ็กต์โดยทำดังนี้
    1. ถอนการติดตั้งทรัพยากร Dependency ของ CocoaPods โดยเรียกใช้คำสั่งต่อไปนี้ในไดเรกทอรีโปรเจ็กต์
      pod deintegrate
    2. ลบ .xcworkspace ที่ CocoaPods สร้างขึ้น
  3. ใน Xcode ให้อัปเดตโปรเจ็กต์ด้วยทรัพยากร Dependency ของ Swift Package Manager โดยทำดังนี้
    1. เปิดไฟล์ .xcodeproj ของโปรเจ็กต์ผ่าน Xcode
    2. เพิ่มทรัพยากร Dependency ของแอปอีกครั้งโดยใช้ File > Add Package Dependencies
  4. เมื่อเพิ่มแพ็กเกจ Firebase แล้ว คุณสามารถอัปเดตไลบรารี Firebase ที่คุณใช้ได้โดยไปที่การตั้งค่าโปรเจ็กต์ใน Xcode เลือกเป้าหมายของแอป แล้วอัปเดตไลบรารีในส่วน Frameworks, Libraries, and Embedded Content

ดูข้อมูลเพิ่มเติมเกี่ยวกับ การใช้ SPM ใน Xcode ได้ในเอกสารประกอบของ Apple

การติดตั้งด้วยตนเอง

การติดตั้งด้วยตนเองคืออะไร

การติดตั้งด้วยตนเองเกี่ยวข้องกับการดาวน์โหลดไฟล์เก็บถาวร Firebase.zip ซึ่งมี XCFrameworks ที่คอมไพล์ไว้ล่วงหน้าสำหรับผลิตภัณฑ์ Firebase ทั้งหมด ซึ่งช่วยให้คุณลากและวาง SDK เฉพาะลงในโปรเจ็กต์ Xcode ได้โดยตรงโดยไม่ต้องใช้เครื่องมือจัดการทรัพยากร Dependency

โยกย้ายไปใช้การติดตั้งด้วยตนเอง

  1. ปิด Xcode แล้วนำ CocoaPods ออกจากโปรเจ็กต์โดยทำดังนี้
    1. ถอนการติดตั้งทรัพยากร Dependency ของ CocoaPods โดยเรียกใช้คำสั่งต่อไปนี้ในไดเรกทอรีโปรเจ็กต์
      pod deintegrate
    2. ลบ .xcworkspace ที่ CocoaPods สร้างขึ้น
  2. ทำตามขั้นตอนใน คู่มือการติดตั้ง เพื่อเพิ่ม Firebase ลงในโปรเจ็กต์ด้วยตนเอง

โยกย้ายแอป Unity, C++ และ Flutter

Firebase Unity SDK และ FlutterFire

นักพัฒนาแอป Unity และ Flutter ส่วนใหญ่ไม่จำเป็นต้องดำเนินการใดๆ การอัปเดตเป็น Firebase เวอร์ชันล่าสุดใน Unity หรือ Flutter จะโยกย้ายเครื่องมือจัดการทรัพยากร Dependency พื้นฐานในแพลตฟอร์ม Apple ไปยัง Swift Package Manager โดยอัตโนมัติ

โปรดทราบว่าหากคุณจัดการทรัพยากร Dependency ที่ไม่ใช่ Firebase ผ่าน CocoaPods คุณอาจต้องโยกย้ายทรัพยากรเหล่านั้นด้วยตนเอง

Firebase C++ SDK

หากคุณรวมทรัพยากร Dependency ของ iOS พื้นฐานผ่าน CocoaPods คุณสามารถทำตามวิธีการโยกย้ายด้านบนเพื่ออัปเดตทรัพยากร Dependency ของ Firebase CocoaPod ให้ใช้ Swift Package Manager แทน

คำถามที่พบบ่อย

ฉันต้องใช้ CocoaPods ต่อไปหลังเดือนตุลาคม 2026 ฉันจะทำให้แอปทำงานต่อไปได้อย่างไร

คุณสามารถใช้ Pod ของ Firebase เวอร์ชันเก่าหรือคัดลอก Podspec ของ Firebase จาก GitHub แล้วโฮสต์ไว้ในที่เก็บข้อมูลจำเพาะของคุณเอง

ไม่ว่าจะกรณีใดก็ตาม เราขอแนะนำให้คุณโยกย้ายออกจาก CocoaPods โดยเร็วที่สุด เราจะไม่ให้การสนับสนุนอย่างเป็นทางการสำหรับการติดตั้ง Firebase จาก Podspec โดยตรงหลังจากที่หยุดการรองรับ CocoaPods ในเดือนตุลาคม 2026 หากเลือกโฮสต์ Podspec ของคุณเอง คุณจะต้องรับผิดชอบในการอัปเดต Podspec ให้เป็นเวอร์ชันล่าสุด

ทำไมจึงหยุดการรองรับ CocoaPods ในเดือนตุลาคม 2026 ในเมื่อ CocoaPods สามารถเผยแพร่ได้จนถึงเดือนธันวาคม 2026

เราเลือกเดือนตุลาคมเพื่อให้แน่ใจว่าเวอร์ชันสุดท้ายที่เผยแพร่ไปยัง CocoaPods มีความเสถียรก่อนที่รีจิสทรีจะล็อกในเดือนธันวาคม ไทม์ไลน์นี้มีระยะเวลาที่จำเป็นในการประสานงานการอัปเดตครั้งสุดท้ายเหล่านี้อย่างปลอดภัย และช่วยให้ SDK ข้ามแพลตฟอร์ม ซึ่งขึ้นอยู่กับ SDK ดั้งเดิมแต่มีรอบการเผยแพร่ที่ล่าช้า มีเวลาเพียงพอในการเตรียมการเผยแพร่ของตนเอง

แอปของฉันจะหยุดทำงานไหมหากฉันไม่อัปเดต

ไม่ การเลิกใช้งานนี้จะส่งผลต่อเฉพาะไลบรารี Firebase เวอร์ชันที่จะเผยแพร่ในอนาคต เวอร์ชันที่มีอยู่ใน CocoaPods จะยังคงติดตั้งได้ และแอปที่ใช้งานจริงซึ่งใช้ Pod เวอร์ชันเหล่านั้นจะไม่ได้รับผลกระทบ

การดำเนินการนี้จะส่งผลต่อการเรียกเก็บเงินของโปรเจ็กต์ไหม

ไม่

ฉันได้รับข้อผิดพลาด "FirebaseLibrary not found" เมื่อคอมไพล์โปรเจ็กต์หลังจากโยกย้ายไปใช้ Swift Package Manager ฉันจะแก้ไขได้อย่างไร

ตรวจสอบว่าคุณได้เพิ่มแพ็กเกจ Firebase ลงในโปรเจ็กต์ Xcode แล้ว

เมื่อเพิ่มแพ็กเกจ Firebase Xcode จะแจ้งให้คุณเพิ่มเฟรมเวิร์ก Firebase ลงในเป้าหมายการสร้างของแอป หากลืมเพิ่มเฟรมเวิร์กในขั้นตอนนี้ คุณสามารถเพิ่มได้ทุกเมื่อในภายหลังในการตั้งค่าเป้าหมายในส่วน Build Phases > Link Binary with Libraries หากโปรเจ็กต์มีเป้าหมายหลายรายการ ให้ตรวจสอบว่าคุณได้เพิ่ม Firebase ลงในเป้าหมายที่ถูกต้อง

การเปลี่ยนนี้จะทำให้ไปป์ไลน์ CI/CD ของฉันหยุดทำงานไหม

ไม่ ไปป์ไลน์ที่เรียกใช้ pod install หรือ pod update จะยังคงทำงานได้สำหรับเวอร์ชันที่มีอยู่ อย่างไรก็ตาม ไปป์ไลน์จะไม่ดึงข้อมูลการอัปเดตไลบรารี Firebase ใหม่ที่เผยแพร่หลังเดือนตุลาคม 2026