CocoaPods는 2026년 12월에 읽기 전용이 되며 그 이후에는 새 포드 버전을 더 이상 게시할 수 없다고 발표했습니다. 다음 섹션에서는 이 변경사항에 관해 자세히 알아보고 앱을 다른 설치 관리자로 이전하는 방법을 설명합니다.
개요
- 변경되는 사항 CocoaPods가 읽기 전용 상태로 전환되며 Firebase는 2026년 10월에 CocoaPods에 새 버전을 게시하지 않습니다.
- 앱이 작동하지 않나요? 아니요. 기존 버전의 Firebase 라이브러리는 CocoaPods 레지스트리에서 무기한으로 계속 사용할 수 있으며 이러한 CocoaPods 버전을 사용하는 앱은 계속 작동합니다.
- 이전해야 하는 이유 최신 기능, 성능 개선사항, 중요한 수정사항을 계속 받으려면 Swift Package Manager 또는 수동 설치로 사용을 이전해야 합니다.
CocoaPods의 공지에 따라 Firebase는 2026년 10월에 CocoaPods에 새 버전을 게시하지 않습니다. 이러한 변경사항은 다음 포드와 하위 종속 항목에 영향을 미칩니다.
| 영향을 받는 Firebase 포드 | ||
|---|---|---|
Firebase |
FirebaseAuth |
FirebaseInstallations |
FirebaseABTesting |
FirebaseCore |
FirebaseMessaging |
FirebaseAI |
FirebaseCrashlytics |
FirebaseMLModelDownloader |
FirebaseAILogic |
FirebaseDatabase |
FirebasePerformance |
FirebaseAnalytics |
FirebaseFirestore |
FirebaseRemoteConfig |
FirebaseAppCheck |
FirebaseFunctions |
FirebaseStorage |
FirebaseAppDistribution |
FirebaseInAppMessaging |
이러한 변경사항은 Firebase Unity SDK, Firebase C++ SDK, FlutterFire를 비롯하여 네이티브 Firebase Apple SDK를 래핑하는 모든 Firebase 배포에도 영향을 미칩니다.
Apple 앱 이전
CocoaPods에서 다른 (Firebase가 아닌) 종속 항목을 이전하는 경우 전체 프로젝트에 단일 설치 방법을 사용하는 것이 업계 권장사항입니다. 동일한 타겟 내에서 CocoaPods와 Swift Package Manager (SPM)를 혼합하면 복잡한 종속 항목 사이클과 빌드 오류가 발생할 수 있습니다. Firebase가 아닌 종속 항목이 아직 SPM을 지원하지 않는 경우 Firebase 라이브러리에 수동 설치를 사용하는 것이 이전 시 워크플로를 통합하는 가장 안정적인 방법입니다.
Swift Package Manager (SPM)
Swift Package Manager란 무엇인가요?
Swift Package Manager (SPM)는 코드 배포를 관리하는 Apple의 네이티브 도구입니다. Xcode에 직접 통합되어 CocoaPods와 같은 외부 CLI 도구가 필요하지 않으며 대부분의 표준 구성에 .xcworkspace가 필요하지 않아 프로젝트 구조가 간소화됩니다.
Swift Package Manager 사용으로 이전
대부분의 프로젝트에서 Swift Package Manager로 이전할 때 애플리케이션 코드를 변경할 필요는 없습니다. 단, 프로젝트에 CocoaPods 설치 스크립트를 많이 사용하는 맞춤 Xcode 구성이나 종속 항목이 있는 경우는 예외입니다.
CocoaPods에서 Swift Package Manager로 이전하는 방법은 다음과 같습니다.
- 앱의 각 종속 항목이 Swift Package Manager를 지원하는지 확인합니다. 모든 Firebase 라이브러리는 SPM을 지원하지만 Firebase가 아닌 종속 항목의 SPM 지원은 GitHub 저장소 또는 제품 페이지에서 확인해야 합니다. Firebase가 아닌 종속 항목 중 일부가 SPM을 지원하지 않는 경우 SPM 대신 수동 설치를 사용하는 것이 CocoaPods에서 가장 안정적으로 이전하는 방법입니다.
- Xcode를 닫은 상태에서 프로젝트에서 CocoaPods를 삭제합니다.
- 프로젝트 디렉터리에서 다음 명령어를 실행하여 CocoaPods 종속 항목을 제거합니다.
pod deintegrate
- CocoaPods에서 생성된
.xcworkspace을 삭제합니다.
- 프로젝트 디렉터리에서 다음 명령어를 실행하여 CocoaPods 종속 항목을 제거합니다.
- Xcode에서 Swift Package Manager 종속 항목으로 프로젝트를 업데이트합니다.
- Xcode를 통해 프로젝트의
.xcodeproj파일을 엽니다. - File > Add Package Dependencies를 사용하여 앱 종속 항목을 다시 추가합니다.
- Xcode를 통해 프로젝트의
- Firebase 패키지가 추가되면 Xcode에서 프로젝트 설정으로 이동하고 앱 타겟을 선택한 후 프레임워크, 라이브러리, 삽입된 콘텐츠에서 라이브러리를 업데이트하여 종속된 Firebase 라이브러리를 업데이트할 수 있습니다. Apple 문서에서 Xcode에서 SPM 사용에 대해 자세히 알아보세요.
수동 설치
수동 설치란 무엇인가요?
수동 설치에는 모든 Firebase 제품에 대해 사전 컴파일된 XCFramework가 포함된 Firebase.zip 보관 파일을 다운로드하는 작업이 포함됩니다. 이렇게 하면 종속 항목 관리자를 사용하지 않고 특정 SDK를 Xcode 프로젝트로 직접 드래그 앤 드롭할 수 있습니다.
수동 설치 사용으로 마이그레이션
- Xcode를 닫은 상태에서 프로젝트에서 CocoaPods를 삭제합니다.
- 프로젝트 디렉터리에서 다음 명령어를 실행하여 CocoaPods 종속 항목을 제거합니다.
pod deintegrate
- CocoaPods에서 생성된
.xcworkspace을 삭제합니다.
- 프로젝트 디렉터리에서 다음 명령어를 실행하여 CocoaPods 종속 항목을 제거합니다.
- 설치 가이드의 단계에 따라 프로젝트에 Firebase를 수동으로 추가합니다.
Unity, C++, Flutter 앱 마이그레이션
Firebase Unity SDK 및 FlutterFire
대부분의 Unity 및 Flutter 개발자는 별도의 조치를 취하지 않아도 됩니다. Unity 또는 Flutter에서 최신 버전의 Firebase로 업데이트하면 Apple 플랫폼의 기본 종속 항목 관리자가 Swift Package Manager로 자동 이전됩니다.
CocoaPods를 통해 Firebase가 아닌 종속 항목을 관리하는 경우 이러한 종속 항목을 수동으로 이전해야 할 수 있습니다.
Firebase C++ SDK
CocoaPods를 통해 기본 iOS 종속 항목을 포함한 경우 위의 이전 안내에 따라 Firebase CocoaPod 종속 항목을 업데이트하여 대신 Swift Package Manager를 사용할 수 있습니다.
FAQ
2026년 10월 이후에도 CocoaPods를 계속 사용해야 합니다. 앱을 계속 실행하려면 어떻게 해야 하나요?
이전 버전의 Firebase 포드를 사용하거나 GitHub에서 Firebase podspec을 복사하여 자체 사양 저장소에 호스팅할 수 있습니다.
어떤 경우든 가능한 한 빨리 CocoaPods에서 마이그레이션하는 것이 좋습니다. 2026년 10월에 CocoaPods 지원이 중단된 후에는 podspec에서 직접 Firebase를 설치하는 공식 지원이 제공되지 않습니다. 자체 포드 사양을 호스팅하는 경우 최신 상태로 유지해야 합니다.
CocoaPods는 2026년 12월까지 게시할 수 있는데 2026년 10월에 CocoaPods 지원이 중단되는 이유는 무엇인가요?
12월에 레지스트리가 잠기기 전에 CocoaPods에 게시된 최종 버전이 안정적인지 확인하기 위해 10월을 선택했습니다. 이 타임라인은 이러한 최종 업데이트를 안전하게 조정하는 데 필요한 여유 시간을 제공하며, 네이티브 SDK에 종속되지만 출시 주기가 지연된 크로스 플랫폼 SDK가 자체 출시를 준비할 충분한 시간을 확보할 수 있도록 합니다.
업데이트하지 않으면 앱이 작동하지 않나요?
아니요. 이 지원 중단은 향후 출시되는 Firebase 라이브러리에만 영향을 미칩니다. CocoaPods의 기존 버전은 계속 설치할 수 있으며 이러한 포드 버전을 사용하는 배포된 앱은 영향을 받지 않습니다.
이 변경사항이 프로젝트 결제에 영향을 미치나요?
아니요.
Swift Package Manager로 이전한 후 프로젝트를 컴파일할 때 'FirebaseLibrary를 찾을 수 없음' 오류가 발생합니다. 어떻게 해결해야 하나요?
Xcode 프로젝트에 Firebase 패키지를 추가했는지 확인합니다.
Firebase 패키지를 추가하면 Xcode에서 앱의 빌드 타겟에 Firebase 프레임워크를 추가하라는 메시지가 표시됩니다. 이 단계에서 프레임워크를 추가하지 않은 경우 나중에 타겟의 설정에서 Build Phases > Link Binary with Libraries를 통해 언제든지 추가할 수 있습니다. 프로젝트에 타겟이 여러 개 있는 경우 Firebase가 올바른 타겟에 추가되어 있는지 확인합니다.
이 전환으로 인해 CI/CD 파이프라인이 중단되나요?
아니요. pod install 또는 pod update을 실행하는 파이프라인은 기존 버전에서 계속 작동합니다. 하지만 2026년 10월 이후에 출시된 새로운 Firebase 라이브러리 업데이트는 가져오지 않습니다.