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

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

ภาพรวม

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

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

พ็อด 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 ที่ไม่ใช่ 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 เป็นจำนวนมาก

วิธีย้ายข้อมูลไปยัง Swift Package Manager จาก CocoaPods มีดังนี้

  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 ของแอปอีกครั้งโดยใช้ไฟล์ > เพิ่มทรัพยากร Dependency ของแพ็กเกจ
  4. เมื่อเพิ่มแพ็กเกจ Firebase แล้ว คุณจะอัปเดตไลบรารี Firebase ที่ใช้ได้โดยไปที่การตั้งค่าโปรเจ็กต์ใน Xcode, เลือกเป้าหมายแอป และอัปเดตไลบรารีในส่วนเฟรมเวิร์ก ไลบรารี และเนื้อหาที่ฝัง

ดูข้อมูลเพิ่มเติมเกี่ยวกับการใช้ 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 ฉันจะทำให้แอปทำงานต่อไปได้อย่างไร

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

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

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

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

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

ไม่ การเลิกใช้งานนี้จะมีผลกับไลบรารี Firebase รุ่นในอนาคตเท่านั้น Firebase 12 เป็นเวอร์ชันหลักสุดท้ายที่เผยแพร่ไปยัง CocoaPods และเวอร์ชันที่มีอยู่ (v12 และก่อนหน้า) ใน CocoaPods จะยังคงติดตั้งและใช้งานได้ตราบใดที่ยังมีการรองรับระบบนิเวศ CocoaPods อยู่

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

ไม่

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

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

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

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

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