📦 Deep Dive · Intermediate

Swift Package Manager là mặc định iOS/macOS — rời CocoaPods

CocoaPods đang ở chế độ maintenance. Flutter 3.44 đặt Swift Package Manager làm mặc định cho dependency iOS và macOS. CLI migrate Xcode project ở lần flutter run / flutter build kế tiếp.

Sơ đồ: Swift Package Manager Default

App developer thấy gì

  • Happy path không cần cài Ruby/CocoaPods.
  • Add-to-App có flutter build swift-package để đóng gói module thành Swift Package.
  • Plugin còn bắt buộc CocoaPods sẽ bị CLI cảnh báo và fallback tạm.

Plugin author cần ship gì

  1. Thêm Package.swift.
  2. Depend FlutterFramework nếu đã migrate pilot 2024.
  3. Nâng constraint Flutter tối thiểu lên 3.44 khi chuyển.

Plugin chưa migrate bị trừ điểm pub.dev và sẽ không resolve được nữa.

Opt-out tạm

# pubspec.yaml
flutter:
  enable-swift-package-manager: false

Hoặc --no-enable-swift-package-manager trên CLI. Opt-out sẽ bị gỡ; mở issue kèm Xcode project nếu SwiftPM làm hỏng tích hợp thật.

Checklist trước khi xóa Podfile

  • flutter clean rồi build iOS đầy đủ
  • CI không còn cài CocoaPods cho app này
  • Mọi plugin trong tree resolve bằng SwiftPM (hoặc đã thay)
  • Code signing và entitlement vẫn đúng
#Flutter#iOS#macOS#SwiftPM#CocoaPods