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

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

ภาพรวม

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

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

พ็อด 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 อย่างหนัก

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

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

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

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

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

ย้ายข้อมูลไปใช้การติดตั้งด้วยตนเอง

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

ย้ายข้อมูลแอป Unity, C++ และ Flutter

Firebase Unity SDK และ FlutterFire

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

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

Firebase C++ SDK

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

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

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

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

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

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

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

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

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

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

ไม่

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

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

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

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

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