애플 앱에 Firebase 기능을 직접 소스로 다루는 방법
iOS 앱에 로그인, 데이터 저장, 알림 기능을 넣을 때 필요한 코드를 한 곳에서 관리할 수 있습니다. 이 저장소는 Firebase의 오픈소스 라이브러리들이 모여 있는 곳으로, 앱 인증부터 데이터베이스, 크래시 리포트까지 필요한 모듈을 직접 소스 단위로 다루거나 빌드할 수 있게 합니다. 특히 최근에는 Gemini 기반의 AI 로직 프레임워크 어댑터가 프리뷰로 공개되어 AI 기능을 앱에 통합하는 길이 열렸습니다.
배포 채널 변화와 AI 기능 도입
가장 먼저 알아야 할 변화는 CocoaPods에 대한 정책입니다. 기존에 설치된 버전은 계속 작동하지만, 신규 업데이트를 받으려면 다른 설치 방법을 고려해야 합니다. 한편, Firebase AI Logic의 Gemini Foundation Models 프레임워크 어댑터가 프리뷰로 출시되어 AI 기능을 앱에 적용할 수 있는 초기 단계가 열렸습니다. 이 두 가지 변화는 개발 환경 설정과 기능 확장 계획에 직접적인 영향을 미칩니다.
포함된 제품과 설치 경로
이 저장소에는 Firebase Analytics를 제외한 대부분의 Apple 플랫폼용 Firebase 라이브러리 소스 코드가 포함되어 있습니다.
- 지원 제품 AI Logic, App Check, App Distribution, Authentication, Cloud Firestore, Cloud Functions, Cloud Messaging, Crashlytics, In-App Messaging, Performance Monitoring, Realtime Database, Remote Config, Storage가 포함됩니다.
- Analytics 제외 Firebase Analytics는 오픈소스가 아니지만, Swift Package Manager나 CocoaPods로 Firebase를 설치할 때 미리 컴파일된 바이너리가 함께 제공됩니다.
플랫폼별 지원 범위와 제한
Firebase는 macOS, Catalyst, tvOS에 대해 공식 베타 지원을 제공합니다. visionOS와 watchOS는 커뮤니티 지원 대상이며, 특히 visionOS와 watchOS에서는 일부 제품 지원에 공백이 있을 수 있습니다. visionOS에서 Firestore를 Swift Package Manager로 사용할 때는 소스 배포를 사용해야 하며, 이를 위해 FIREBASE_SOURCE_FIRESTORE 환경 변수를 설정해야 합니다. watchOS는 공식 지원이 아니므로 SDK가 의도대로 작동하지 않을 수 있으며, 이 경우 이슈를 등록해야 합니다. 또한 watchOS에서는 Crashlytics가 mach 예외와 시그널 크래시를 기록하지 못하므로 SwiftUI 크래시는 기록되지 않습니다.
라이선스와 사용 조건
이 저장소의 콘텐츠는 Apache License, version 2.0에 따라 라이선스가 부여됩니다. Firebase 서비스의 사용은 Firebase 서비스의 서비스 약관에 의해 규제됩니다. Combine 프레임워크를 위한 FirebaseCombineSwift 모듈은 커뮤니티 기여로 개발 중이지만, 아직 생산 환경 사용을 지원하지 않습니다. 개발 환경 설정, 빌드, 테스트에 대한 정보는 Contributing Guide에서 확인할 수 있습니다.