Apple 플랫폼의 Firebase 자세히 알아보기

Firebase를 사용하여 Apple 앱을 개발할 때 익숙하지 않거나 Firebase에만 해당하는 개념을 발견할 수 있습니다. 이 페이지에서는 이러한 질문에 답변하거나 자세한 내용을 알아보는 데 유용한 리소스를 안내합니다.

이 페이지에서 다루지 않은 주제와 관련해 궁금한 점이 있으면 언제든지 온라인 커뮤니티를 방문하시기 바랍니다. 이 페이지에는 정기적으로 새로운 주제가 업데이트되므로 알아보려는 주제가 추가되었는지 추후에 다시 확인해 보세요.

플랫폼별 Firebase 라이브러리 지원

다음 표에서는 Apple 플랫폼과 호환되는 Firebase 라이브러리를 설명합니다. 당분간 watchOS는 커뮤니티에서만 지원됩니다. 설치 안내 및 알려진 문제는 Firebase Apple 플랫폼 SDK GitHub 저장소를 참조하세요.

라이브러리 iOS macOS Mac
Catalyst
tvOS watchOS
A/B 테스팅
애널리틱스 v8.9.0+ v8.9.0+ v8.9.0+
광고 ID가 없는 애널리틱스 v8.9.0+ v8.9.0+ v8.9.0+
애널리틱스 기기 내 변환
앱 체크 DeviceCheck 제공업체 watchOS 9+
앱 체크 앱 증명 제공업체 iOS 14+ macOS 11 이상 Catalyst 14 이상 tvOS 15 이상 watchOS 9+
앱 체크 커스텀 및 디버그 제공업체
앱 배포
인증 partial partial partial partial
Cloud Firestore
Cloud Functions
클라우드 메시징
Cloud Storage
Crashlytics
동적 링크
Firebase 설치
Firebase ML 모델 다운로더
인앱 메시지
Performance Monitoring
실시간 데이터베이스
원격 구성

앱 클립

대부분의 Firebase 라이브러리는 앱 클립 타겟에 빌드되어 실행되지만 대부분의 경우 기본 OS 제한사항에 영향을 받습니다. 알려진 문제는 다음과 같습니다.

  • 사용자가 앱이 설치되지 않은 링크를 탭하면 동적 링크를 통해 앱 클립으로 이동할 수 없습니다.
  • Firestore 및 실시간 데이터베이스에서 기본 CFStream 종속 항목으로 인해 앱 클립의 데이터를 로드할 수 없습니다.

알려진 앱 클립 문제의 전체 목록은 Firebase GitHub 저장소를 참조하세요.

GoogleService-Info.plist

Firebase를 Apple 프로젝트에 추가하는 과정에서 프로젝트에 GoogleService-Info.plist 구성 파일을 추가해야 합니다. 단일 앱에서 여러 Firebase 프로젝트를 사용하려면 여러 프로젝트 구성 문서를 참조하세요.

Firebase 앱 초기화 프로세스에 대한 자세한 내용은 Swift 참조 문서를 확인하세요.

Swift Package Manager

Swift Package Manager 통합에 관한 자세한 내용은 가이드를 참조하세요.

Swift 확장 프로그램

Firebase Apple 플랫폼 SDK Swift 확장 프로그램은 기존 Firebase Apple 플랫폼 라이브러리에 대한 소규모 오픈소스 부가기능으로, 코드에서 Swift 언어 전용 기능을 사용할 수 있도록 해줍니다.

사용할 수 있는 Swift 확장 프로그램 프레임워크는 다음과 같습니다.

  • FirebaseAnalyticsSwift
  • FirebaseDatabaseSwift
  • FirebaseFirestoreSwift
  • FirebaseInAppMessagingSwift(베타)
  • FirebaseRemoteConfigSwift

Firebase 9.0부터 Objective-C 인터페이스를 비롯한 일부 Firebase 라이브러리가 Swift로 구현되며 보조 종속 항목을 포함하지 않고도 Swift 네이티브 기능을 제공할 수 있습니다. 다음 SDK는 확장 프로그램 SDK를 사용하지 않고 네이티브 Swift API를 제공합니다.

  • FirebaseFunctions
  • FirebaseStorage

CocoaPods 또는 Swift Package Manager를 사용하여 Swift 확장 프로그램을 설치할 수 있습니다. CocoaPods를 사용하여 Swift 확장 프로그램을 설치하려면 아래에 표시된 대로 확장 프로그램을 Podfile에 포함하세요.

pod 'FirebaseAnalyticsSwift', '~> 10.0'
pod 'FirebaseInAppMessagingSwift', '~> 10.0-beta'
pod 'FirebaseDatabaseSwift'

Swift Package Manager를 사용하여 Firebase Apple 플랫폼 SDK와 동일한 저장소에서 원하는 Swift 확장 프로그램 라이브러리를 직접 가져오세요.

SwiftUI

Firebase는 SwiftUI를 완벽하게 지원하지만, 완전한 SwiftUI 환경에서 Firebase가 올바르게 작동하려면 UIKit 앱과 약간 다르게 설정해야 합니다. 자세한 내용은 피터 프리제의 블로그 게시물을 참조하세요.

알려진 문제로 인해 SwiftUI 애플리케이션에서 재구성을 중지해야 합니다. 자세한 내용은 앱 대리인 재구성 섹션을 참조하세요.

앱 대리인 재구성

Firebase는 앱의 앱 위임 클래스에서 일부 메서드를 재구성하여 FCM 및 APN 토큰과 같은 특정 Firebase 서비스를 OS 콜백에 자동으로 연결합니다. 앱의 Info.plist 파일에 FirebaseAppDelegateProxyEnabled 플래그를 추가하고 NO로 설정하여 재구성을 중지할 수 있습니다.

애널리틱스, 앱 배포, 인증, FCM 등 4가지 Firebase 제품에서 앱 대리인 재구성을 사용합니다. 애플리케이션에서 재구성을 중지했으며 다음 제품 중 하나를 사용하는 경우 제품별 가이드를 참고하여 재구성 없이 제품을 사용하는 방법을 알아보세요.

iOS 14 지원

iOS 14에는 사용자의 광고 식별자에 대한 사용자 권한이 새롭게 변경되었습니다. 앱에 영향을 미칠지에 대한 자세한 내용은 iOS 14 준비 가이드를 참조하세요.

지속적인 Objective-C 지원

Apple 플랫폼 문서를 쉽게 관리할 수 있도록 Firebase는 가이드 및 기타 개발자 자료의 Swift 스니펫과 코드 샘플에 집중하기로 했습니다. 2024년 1월 1일부터 가이드에서 Objective-C 스니펫이 삭제됩니다. 모든 Firebase 제품에 대한 Objective-C의 최신 참조 문서는 계속 유지됩니다.

Firebase Apple 플랫폼 SDK용 오픈소스 리소스

Firebase는 오픈소스 개발을 지원하며 커뮤니티 참여와 의견 제공을 권장합니다.

Firebase Apple 플랫폼 SDK

애널리틱스를 제외한 모든 Apple 플랫폼용 Firebase SDK는 공개 Firebase GitHub 저장소에서 오픈소스 라이브러리로 개발됩니다.

FirebaseUI

FirebaseUI는 Cloud Firestore 및 실시간 데이터베이스의 인증 및 데이터 유틸리티를 위한 삽입형 UI 흐름을 포함하며 Firebase를 기반으로 한 유틸리티 라이브러리 집합입니다. GitHub 페이지에서 FirebaseUI에 대한 자세한 내용을 참조하세요.

빠른 시작 샘플

Firebase는 iOS용 Firebase API 대부분에 대한 빠른 시작 샘플 모음을 유지관리합니다. 공개 Firebase GitHub 빠른 시작 저장소에서 이러한 빠른 시작을 찾아보세요.

Xcode에서 각 빠른 시작을 연 다음 휴대기기 또는 시뮬레이터에서 실행할 수 있습니다. 또는 Firebase SDK를 사용하기 위한 예시 코드로 이 빠른 시작을 사용할 수 있습니다.