CocoaPods đã thông báo rằng họ sẽ chuyển sang chế độ chỉ đọc vào tháng 12 năm 2026. Sau đó, bạn sẽ không thể xuất bản các phiên bản pod mới nữa. Các phần sau đây cung cấp thêm thông tin về thay đổi này và giải thích cách di chuyển ứng dụng của bạn sang các trình quản lý cài đặt khác.
Tổng quan
- Có gì thay đổi? CocoaPods đang chuyển sang trạng thái chỉ đọc và Firebase sẽ ngừng xuất bản các phiên bản mới lên CocoaPods từ tháng 10 năm 2026.
- Ứng dụng của tôi có bị lỗi không? Không. Các phiên bản hiện có của thư viện Firebase sẽ vẫn có sẵn vô thời hạn trên sổ đăng ký CocoaPods và những ứng dụng sử dụng các phiên bản CocoaPod đó sẽ tiếp tục hoạt động.
- Tại sao phải di chuyển? Để tiếp tục nhận được các tính năng mới nhất, các điểm cải thiện về hiệu suất và các bản sửa lỗi quan trọng, bạn nên di chuyển việc sử dụng sang Swift Package Manager hoặc cài đặt thủ công.
Để đáp ứng thông báo của CocoaPods, Firebase sẽ ngừng xuất bản các phiên bản mới lên CocoaPods vào tháng 10 năm 2026. Những thay đổi này ảnh hưởng đến tất cả các pod sau đây và các phần phụ thuộc của chúng:
| Các pod Firebase bị ảnh hưởng | ||
|---|---|---|
Firebase |
FirebaseAuth |
FirebaseInstallations |
FirebaseABTesting |
FirebaseCore |
FirebaseMessaging |
FirebaseAI |
FirebaseCrashlytics |
FirebaseMLModelDownloader |
FirebaseAILogic |
FirebaseDatabase |
FirebasePerformance |
FirebaseAnalytics |
FirebaseFirestore |
FirebaseRemoteConfig |
FirebaseAppCheck |
FirebaseFunctions |
FirebaseStorage |
FirebaseAppDistribution |
FirebaseInAppMessaging |
Ngoài ra, những thay đổi này sẽ ảnh hưởng đến tất cả các bản phân phối Firebase bao bọc Firebase Apple SDK gốc, bao gồm cả SDK của Firebase cho Unity, SDK C++ của Firebase và FlutterFire.
Di chuyển các ứng dụng của Apple
Nếu bạn đang di chuyển các phần phụ thuộc khác (không phải Firebase) ra khỏi CocoaPods, hãy lưu ý rằng phương pháp hay nhất trong ngành là sử dụng một phương thức cài đặt duy nhất cho toàn bộ dự án của bạn. Việc kết hợp CocoaPods và Trình quản lý gói Swift (SPM) trong cùng một mục tiêu có thể dẫn đến các chu kỳ phần phụ thuộc phức tạp và lỗi bản dựng. Nếu các phần phụ thuộc không phải Firebase của bạn chưa hỗ trợ SPM, thì việc sử dụng cài đặt thủ công cho các thư viện Firebase là cách ổn định nhất để hợp nhất quy trình làm việc khi bạn di chuyển.
Trình quản lý gói Swift (SPM)
Trình quản lý gói Swift là gì?
Swift Package Manager (SPM) là công cụ gốc của Apple để quản lý việc phân phối mã. Trình quản lý này được tích hợp trực tiếp vào Xcode, giúp bạn không cần dùng các công cụ CLI bên ngoài như CocoaPods và đơn giản hoá cấu trúc dự án bằng cách loại bỏ nhu cầu sử dụng .xcworkspace cho hầu hết các cấu hình tiêu chuẩn.
Di chuyển sang dùng Trình quản lý gói Swift
Đối với hầu hết các dự án, việc di chuyển sang Swift Package Manager không yêu cầu bạn thay đổi mã xử lý ứng dụng, trừ phi dự án của bạn có các cấu hình Xcode tuỳ chỉnh hoặc các phần phụ thuộc sử dụng nhiều tập lệnh cài đặt CocoaPods.
Sau đây là cách di chuyển sang Trình quản lý gói Swift từ CocoaPods:
- Xác minh rằng mỗi phần phụ thuộc của ứng dụng đều hỗ trợ Swift Package Manager. Tất cả các thư viện Firebase đều hỗ trợ SPM, nhưng bạn cần kiểm tra xem các phần phụ thuộc không phải Firebase có hỗ trợ SPM hay không trong kho lưu trữ GitHub hoặc trang sản phẩm của các phần phụ thuộc đó. Nếu một số phần phụ thuộc không phải Firebase không hỗ trợ SPM, thì việc sử dụng cài đặt thủ công thay vì SPM là cách di chuyển ổn định nhất từ CocoaPods.
- Khi Xcode đóng, hãy xoá CocoaPods khỏi dự án của bạn:
- Gỡ cài đặt các phần phụ thuộc CocoaPods bằng cách chạy lệnh sau trong thư mục dự án:
pod deintegrate
- Xoá
.xcworkspacedo CocoaPods tạo.
- Gỡ cài đặt các phần phụ thuộc CocoaPods bằng cách chạy lệnh sau trong thư mục dự án:
- Trong Xcode, hãy cập nhật dự án của bạn bằng các phần phụ thuộc của Trình quản lý gói Swift:
- Mở tệp
.xcodeprojcủa dự án thông qua Xcode. - Thêm lại các phần phụ thuộc của ứng dụng bằng cách sử dụng File > Add Package Dependencies (Tệp > Thêm phần phụ thuộc của gói).
- Mở tệp
- Sau khi thêm gói Firebase, bạn có thể cập nhật các thư viện Firebase mà bạn phụ thuộc vào bằng cách chuyển đến phần cài đặt dự án trong Xcode, chọn mục tiêu ứng dụng và cập nhật các thư viện trong phần Frameworks, Libraries, and Embedded Content (Khung, thư viện và nội dung được nhúng). Tìm hiểu thêm về cách sử dụng SPM trong Xcode trong tài liệu của Apple.
Cài đặt theo cách thủ công
Cài đặt thủ công là gì?
Cài đặt theo cách thủ công bao gồm việc tải tệp lưu trữ Firebase.zip xuống. Tệp này chứa XCFramework được biên dịch sẵn cho tất cả các sản phẩm của Firebase. Nhờ đó, bạn có thể kéo và thả các SDK cụ thể trực tiếp vào dự án Xcode mà không cần dùng trình quản lý phần phụ thuộc.
Di chuyển sang sử dụng phương thức cài đặt thủ công
- Khi Xcode đóng, hãy xoá CocoaPods khỏi dự án của bạn:
- Gỡ cài đặt các phần phụ thuộc CocoaPods bằng cách chạy lệnh sau trong thư mục dự án:
pod deintegrate
- Xoá
.xcworkspacedo CocoaPods tạo.
- Gỡ cài đặt các phần phụ thuộc CocoaPods bằng cách chạy lệnh sau trong thư mục dự án:
- Làm theo các bước trong hướng dẫn cài đặt của chúng tôi để thêm Firebase vào dự án theo cách thủ công.
Di chuyển các ứng dụng Unity, C++ và Flutter
SDK của Firebase cho Unity và FlutterFire
Hầu hết nhà phát triển Unity và Flutter đều không cần làm gì. Việc cập nhật lên phiên bản Firebase mới nhất trên Unity hoặc Flutter sẽ tự động di chuyển trình quản lý phần phụ thuộc cơ bản của bạn trên các nền tảng của Apple sang Swift Package Manager.
Xin lưu ý rằng nếu đang quản lý các phần phụ thuộc không phải Firebase thông qua CocoaPods, bạn có thể cần di chuyển các phần phụ thuộc đó theo cách thủ công.
SDK C++ của Firebase
Nếu đang thêm các phần phụ thuộc iOS cơ bản thông qua CocoaPods, bạn có thể làm theo hướng dẫn di chuyển ở trên để cập nhật các phần phụ thuộc Firebase CocoaPod nhằm sử dụng Swift Package Manager.
Câu hỏi thường gặp
Tôi cần tiếp tục sử dụng CocoaPods sau tháng 10 năm 2026. Làm cách nào để ứng dụng của tôi luôn chạy?
Bạn có thể sử dụng các phiên bản cũ của Firebase pod hoặc sao chép Firebase podspecs từ GitHub và lưu trữ chúng trong kho lưu trữ spec của riêng bạn.
Trong cả hai trường hợp, bạn nên di chuyển khỏi CocoaPods càng sớm càng tốt. Chúng tôi sẽ không hỗ trợ chính thức việc cài đặt Firebase trực tiếp từ podspec sau khi ngừng hỗ trợ CocoaPods vào tháng 10 năm 2026. Nếu chọn lưu trữ podspec của riêng mình, bạn sẽ phải chịu trách nhiệm cập nhật các podspec đó.
Tại sao dịch vụ hỗ trợ CocoaPods sẽ ngừng hoạt động vào tháng 10 năm 2026 trong khi CocoaPods có thể được xuất bản cho đến tháng 12 năm 2026?
Chúng tôi chọn tháng 10 để đảm bảo các phiên bản cuối cùng được xuất bản lên CocoaPods đều ổn định trước khi sổ đăng ký khoá vào tháng 12. Lịch trình này cung cấp khoảng thời gian cần thiết để phối hợp an toàn các bản cập nhật cuối cùng này, đồng thời đảm bảo rằng các SDK nhiều nền tảng (phụ thuộc vào SDK gốc nhưng có chu kỳ phát hành bị trì hoãn) có nhiều thời gian để chuẩn bị các bản phát hành của riêng mình.
Ứng dụng của tôi có ngừng hoạt động nếu tôi không cập nhật không?
Không, việc ngừng sử dụng này chỉ ảnh hưởng đến các bản phát hành trong tương lai của thư viện Firebase. Các phiên bản hiện có trong CocoaPods vẫn có thể cài đặt và các ứng dụng được triển khai bằng những phiên bản pod đó sẽ không bị ảnh hưởng.
Điều này có ảnh hưởng đến việc thanh toán dự án không?
Không.
Tôi gặp lỗi "Không tìm thấy FirebaseLibrary" khi biên dịch dự án sau khi di chuyển sang Swift Package Manager. Làm cách nào để tôi chữa lỗi này?
Đảm bảo rằng bạn đã thêm gói Firebase vào dự án Xcode.
Khi bạn thêm gói Firebase, Xcode sẽ nhắc bạn thêm các khung Firebase vào mục tiêu bản dựng của ứng dụng. Nếu quên thêm một khung trong bước này, bạn luôn có thể thêm khung đó sau trong phần cài đặt của mục tiêu trong Build Phases > Link Binary with Libraries (Giai đoạn xây dựng > Liên kết tệp nhị phân với thư viện). Nếu dự án của bạn chứa nhiều mục tiêu, hãy đảm bảo bạn đã thêm Firebase vào đúng mục tiêu.
Quá trình chuyển đổi này có làm gián đoạn quy trình CI/CD của tôi không?
Không, các quy trình chạy pod install hoặc pod update sẽ tiếp tục hoạt động đối với các phiên bản hiện có. Tuy nhiên, các phiên bản này sẽ không nhận được bất kỳ bản cập nhật thư viện Firebase mới nào được phát hành sau tháng 10 năm 2026.