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

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

ภาพรวม

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

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

พ็อด 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

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

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

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

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

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

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

  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 โดยอัตโนมัติ

โปรดทราบว่าหากคุณจัดการการอ้างอิงที่ไม่ใช่ 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 ในอนาคตเท่านั้น Firebase 12 เป็นเวอร์ชันหลักสุดท้ายที่เผยแพร่ไปยัง CocoaPods และเวอร์ชันที่มีอยู่ (v12 และเวอร์ชันก่อนหน้า) ใน CocoaPods จะยังคงติดตั้งและใช้งานได้ ตราบใดที่ระบบนิเวศของ 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