이 저장소에는 FirebaseAnalytics를 제외한 모든 Apple 플랫폼 Firebase SDK의 소스 코드가 포함되어 있습니다.
Firebase는 앱을 빌드하고 성장시키고 수익을 창출하는 데 도움이 되는 도구를 갖춘 앱 개발 플랫폼입니다. Firebase에 대한 자세한 내용은 Firebase 공식 웹사이트에서 확인할 수 있습니다.
다양한 설치 방법에 대한 자세한 내용은 아래 하위 섹션을 참조하세요. 가능한 경우 Swift에서 앱을 작성할 때 최상의 경험을 얻으려면 Swift
접미사가 있는 라이브러리를 설치하는 것이 좋습니다.
표준 포드 설치
스위프트 패키지 관리자
GitHub 저장소에서 설치
실험적인 카르타고
표준 포드 설치에 대한 지침을 보려면 https://firebase.google.com/docs/ios/setup을 방문하세요.
Swift Package Manager 지원에 대한 지침은 SwiftPackageManager.md Markdown 파일에서 찾을 수 있습니다.
이 지침은 다른 분기, 태그 또는 커밋에서 Firebase 저장소에 액세스하는 데 사용할 수 있습니다.
Pod 소스 위치 재정의에 대한 지침 및 옵션은 Podfile 구문 참조를 참조하세요.
모든 공식 릴리스는 이 저장소에 태그되어 있으며 CocoaPods를 통해 사용할 수 있습니다. 로컬 소스 스냅샷이나 출시되지 않은 브랜치에 액세스하려면 다음과 같은 Podfile 지시어를 사용하세요.
지점을 통해 FirebaseFirestore에 액세스하려면 다음 안내를 따르세요.
pod 'FirebaseCore', :git => 'https://github.com/firebase/firebase-ios-sdk.git', :branch => 'main'pod 'FirebaseFirestore', :git => 'https:// github.com/firebase/firebase-ios-sdk.git', :branch => '메인'
Firebase-ios-sdk 저장소의 체크아웃 버전을 통해 FirebaseMessaging에 액세스하려면 다음 안내를 따르세요.
pod 'FirebaseCore', :path => '/path/to/firebase-ios-sdk'pod 'FirebaseMessaging', :path => '/path/to/firebase-ios-sdk'
실험적인 카르타고 분포에 대한 지침은 Carthage.md에서 찾을 수 있습니다.
프레임워크 또는 라이브러리에서 Firebase를 사용하는 방법에 대한 자세한 내용은 firebase_in_libraries.md를 참조하세요.
이 저장소에서 Firebase 소프트웨어를 개발하려면 최소한 다음 소프트웨어가 있는지 확인하세요.
Xcode 15.2(또는 그 이상)
CocoaPods는 여전히 표준적인 개발 방식이지만, 이제 저장소의 대부분은 Swift Package Manager를 사용한 개발을 지원합니다.
다음을 설치합니다:
CocoaPods 1.12.0(또는 그 이상)
CocoaPod 생성
개발하려는 포드의 경우:
pod gen Firebase{여기에 이름}.podspec --local-sources=./ --auto-open --platforms=ios
참고: CocoaPods 캐시가 오래된 경우 pod gen
명령 전에 pod repo update
실행해야 할 수도 있습니다.
참고: 해당 플랫폼을 개발/테스트하려면 --platforms
옵션을 macos
또는 tvos
로 설정하세요. 10.2부터 Xcode는 다중 플랫폼 CocoaPods 작업 영역을 제대로 처리하지 않습니다.
Firestore에는 독립형 Xcode 프로젝트가 있습니다. Firestore/README 마크다운 파일을 참조하세요.
pod gen {name here}.podspec --local-sources=./ --auto-open --platforms=ios
App-iOS 빌드 설정에서 Mac 상자를 확인하세요.
설정 서명 및 기능 탭에서 앱에 서명하세요.
프로젝트 관리자에서 포드를 클릭하세요.
iOS 호스트 앱 및 단위 테스트 대상에 서명 추가
단위-단위 구성표 선택
실행하여 빌드하고 테스트하세요.
또는 각 대상에서 로그인을 비활성화합니다.
빌드 설정 탭으로 이동
+
클릭하세요.
Add User-Defined Setting
선택하세요.
NO
값으로 CODE_SIGNING_REQUIRED
설정을 추가합니다.
테스트 구성표를 활성화하려면: ./scripts/setup_spm_tests.sh
open Package.swift
나 Finder에서 Package.swift
더블클릭하세요.
Xcode가 프로젝트를 엽니다.
빌드할 라이브러리 또는 실행할 테스트 모음의 구성표를 선택하세요.
구성표와 함께 실행 대상을 선택하여 대상 플랫폼을 선택하십시오.
자세한 내용은 AddNewPod 마크다운 파일을 참조하세요.
헤더 및 가져오기 관리에 대한 자세한 내용은 HeadersImports Markdown 파일을 참조하세요.
코드 형식이 일관되게 유지되도록 하려면 PR(풀 요청)을 생성하기 전에 ./scripts/check.sh 스크립트를 실행하세요.
GitHub Actions는 모든 코드 변경이 스타일을 준수하는 방식으로 수행되었는지 확인합니다. clang-format
및 mint
설치합니다.
양조 설치 clang-format@19brew 설치 민트
구성표를 선택하고 Command-u를 눌러 구성 요소를 빌드하고 해당 단위 테스트를 실행합니다.
샘플 앱과 통합 테스트를 실행하려면 유효한 GoogleService-Info.plist
파일이 필요합니다. Firebase Xcode 프로젝트에는 실제 값이 없는 더미 plist 파일이 포함되어 있지만 실제 plist 파일로 대체될 수 있습니다. 자신만의 GoogleService-Info.plist
파일을 얻으려면:
Firebase 콘솔로 이동
아직 없는 경우 새 Firebase 프로젝트를 만듭니다.
테스트하려는 각 샘플 앱에 대해 샘플 앱의 번들 식별자(예: com.google.Database-Example
)를 사용하여 새 Firebase 앱을 만듭니다.
결과 GoogleService-Info.plist
다운로드하여 Xcode 프로젝트에 추가하세요.
커버리지 보고서 생성 지침은 scripts/code_coverage_report/README 마크다운 파일을 참조하세요.
해당 구성요소에 대한 특별 지침은 아래 섹션을 참조하세요.
특정 Firebase 인증 개발의 경우 인증 샘플 README에서 다양한 샘플 및 테스트와 함께 FirebaseAuth 포드 구축 및 실행에 대한 지침을 참조하세요.
Firebase 데이터베이스 통합 테스트는 로컬로 실행되는 데이터베이스 에뮬레이터 또는 프로덕션 인스턴스에 대해 실행할 수 있습니다.
로컬 에뮬레이터 인스턴스에 대해 실행하려면 통합 테스트를 실행하기 전에 ./scripts/run_database_emulator.sh start
호출하십시오.
프로덕션 인스턴스에 대해 실행하려면 유효한 GoogleServices-Info.plist
제공하고 이를 FirebaseDatabase/Tests/Resources/GoogleService-Info.plist
에 복사하세요. 테스트가 실행되는 동안 보안 규칙을 공개로 설정해야 합니다.
Firebase 동적 링크는 더 이상 사용되지 않으며 새 프로젝트에서 사용하면 안 됩니다. 2025년 8월 25일에 서비스가 종료됩니다.
자세한 지침은 동적 링크 지원 중단 FAQ 문서를 참조하세요.
특정 Firebase Performance Monitoring 개발의 경우 SDK 빌드에 대한 지침은 Performance README를 참조하고, 개발 테스트 앱과 Performance를 통합하는 방법은 Performance TestApp README를 참조하세요.
스토리지 통합 테스트를 실행하려면 StorageIntegration.swift의 지침을 따르세요.
푸시 알림은 개발자 포털에서 특별히 프로비저닝된 앱 ID로만 전달될 수 있습니다. 푸시 알림 수신을 테스트하려면 다음을 수행해야 합니다.
샘플 앱의 번들 식별자를 Apple 개발자 계정에서 소유한 것으로 변경하고 해당 앱 ID를 푸시 알림용으로 활성화하세요.
또한 프로젝트 설정 > 클라우드 메시징 > [Firebase 앱] 에서 Firebase 콘솔에 APN 공급자 인증 키 또는 인증서를 업로드해야 합니다.
iOS 장치가 Apple 개발자 포털에 테스트 장치로 추가되었는지 확인하세요.
iOS 시뮬레이터는 원격 알림을 등록할 수 없으며 푸시 알림을 받지 않습니다. 푸시 알림을 받으려면 위의 단계에 따라 실제 기기에서 앱을 실행하세요.
SDK 빌드 및 테스트에 대한 안내는 Firebase용 Vertex AI README를 참조하세요.
Firebase는 macOS, Catalyst, tvOS에 대한 공식 베타 지원을 제공합니다. VisionOS 및 watchOS는 커뮤니티에서 지원됩니다. 다양한 다중 플랫폼 PR에 대한 커뮤니티 기여에 감사드립니다.
현재 대부분의 Firebase 제품은 Apple 플랫폼 전반에서 사용할 수 있습니다. 특히 VisionOS와 watchOS에는 여전히 몇 가지 격차가 있습니다. 현재 지원 매트릭스에 대한 자세한 내용은 Firebase 문서의 이 차트를 참조하세요.
지원되는 경우 VisionOS는 소스 배포판을 사용해야 하는 Swift Package Manager를 통한 Firestore를 제외하고 예상대로 작동합니다.
Firestore 소스 배포를 활성화하려면 Xcode를 종료하고 FIREBASE_SOURCE_FIRESTORE
환경 변수( open --env FIREBASE_SOURCE_FIRESTORE /path/to/project.xcodeproj
를 사용하여 명령줄에서 원하는 프로젝트를 엽니다. Firestore의 바이너리 배포판을 다시 사용하려면 Xcode를 종료하고 환경 변수 없이 평소처럼 Xcode를 엽니다.
커뮤니티의 기여 덕분에 이제 많은 Firebase SDK가 컴파일, 단위 테스트 실행 및 watchOS에서 작동됩니다. 독립 시계 앱 샘플을 참조하세요.
watchOS는 Firebase에서 공식적으로 지원되지 않습니다. GitHub Actions를 사용하면 기본적인 단위 테스트 문제를 파악할 수 있지만 watchOS에서 SDK가 더 이상 예상대로 작동하지 않는 일부 변경 사항이 있을 수 있습니다. 이 문제가 발생하면 문제를 제기해 주세요.
콘솔에서 앱을 설정하는 동안 "앱이 서버와 통신했는지 확인"과 같은 내용이 언급된 단계에 도달할 수 있습니다. 이는 Analytics에 의존하며 watchOS에서는 작동하지 않습니다. 메시지를 무시하고 계속 진행해도 안전합니다 . 나머지 SDK는 예상대로 작동합니다.
watchOS는 지원이 제한되어 있습니다. watchOS 제한으로 인해 마하 예외 및 신호 충돌은 기록되지 않습니다. (SwiftUI의 크래시는 마하 예외로 생성되므로 기록되지 않습니다.)
커뮤니티의 기여 덕분에 FirebaseCombineSwift 에는 Apple의 Combine 프레임워크에 대한 지원이 포함되었습니다. 이 모듈은 현재 개발 중이며 아직 프로덕션 환경에서의 사용이 지원되지 않습니다. 자세한 내용은 문서를 참조하세요.
Firebase Apple SDK 오픈소스 계획 및 방향에 대한 자세한 내용은 로드맵을 참조하세요.
Firebase Apple SDK에 기여하는 방법에 대한 자세한 내용은 기여를 참조하세요.
이 저장소의 콘텐츠는 Apache 라이센스 버전 2.0에 따라 라이센스가 부여됩니다.
Firebase 사용에는 Firebase 서비스 서비스 약관이 적용됩니다.