IT

Firebase Crashlytics SPM 설치 방법 (Swift / iOS)

초코모찌롤 2026. 3. 14. 21:23
반응형

Firebase Crashlytics SPM 설치 방법 (Swift / iOS)

iOS 앱을 운영하다 보면 실제 사용자 환경에서 발생하는 오류를 빠르게 파악하는 것이 중요하다. 특히 테스트 환경에서는 재현되지 않지만 배포 후 특정 기기나 특정 OS에서만 발생하는 크래시는 일반 로그만으로 원인을 찾기 어렵다.

이럴 때 많이 사용하는 도구가 바로 Firebase Crashlytics다. Crashlytics를 적용하면 앱에서 발생한 크래시 정보를 Firebase 콘솔에서 확인할 수 있고, 어떤 코드에서 문제가 발생했는지 빠르게 분석할 수 있다.

Firebase Crashlytics란?

Firebase Crashlytics는 앱에서 발생한 크래시 로그를 수집하고 분석할 수 있도록 도와주는 서비스다.

  • 앱 크래시 자동 수집
  • 스택 트레이스 분석
  • 기기 / OS 정보 확인
  • 앱 버전별 크래시 통계
  • Custom 로그 기록

특히 iOS에서는 dSYM 파일을 이용해 크래시 로그를 사람이 읽을 수 있는 형태로 변환한다.

Crashlytics 설치 전 준비

Crashlytics를 사용하려면 먼저 Firebase 프로젝트에 iOS 앱을 등록해야 한다.

  1. Firebase 콘솔에서 프로젝트 생성
  2. iOS 앱 등록
  3. GoogleService-Info.plist 다운로드
  4. Xcode 프로젝트에 파일 추가

1. Swift Package Manager로 Firebase SDK 추가

Xcode에서 Firebase SDK를 설치하는 가장 쉬운 방법은 Swift Package Manager를 사용하는 것이다.

다음 메뉴로 이동한다.

File → Add Package Dependencies

패키지 URL에 다음 주소를 입력한다.

https://github.com/firebase/firebase-ios-sdk

패키지를 추가하면 여러 Firebase 모듈이 나타난다. 여기서 Crashlytics 관련 모듈을 선택한다.

  • FirebaseCrashlytics
  • FirebaseAnalytics (권장)

Firebase 공식 문서에서도 Apple 플랫폼에서 Firebase SDK를 설치할 때 Swift Package Manager 사용을 권장하고 있다.

2. GoogleService-Info.plist 파일 추가

Firebase 프로젝트를 생성하면 GoogleService-Info.plist 파일을 다운로드할 수 있다.

이 파일을 Xcode 프로젝트에 추가하고 반드시 앱 타깃(Target Membership)에 포함되어 있어야 한다.

프로젝트 → Target → Build Phases → Copy Bundle Resources

여기 목록에 GoogleService-Info.plist가 포함되어 있는지 확인한다.

3. Firebase 초기화

Firebase SDK를 추가했다면 앱 시작 시 Firebase를 초기화해야 한다.

SwiftUI 프로젝트

import SwiftUI
import FirebaseCore

@main
struct MyApp: App {

    init() {
        FirebaseApp.configure()
    }

    var body: some Scene {
        WindowGroup {
            ContentView()
        }
    }
}

UIKit 프로젝트

import UIKit
import FirebaseCore

@main
class AppDelegate: UIResponder, UIApplicationDelegate {

    func application(
        _ application: UIApplication,
        didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
    ) -> Bool {

        FirebaseApp.configure()
        return true
    }
}

4. Crashlytics 테스트

설정이 정상적으로 되었는지 확인하려면 테스트 크래시를 발생시켜 보는 것이 좋다.

fatalError("Crashlytics test crash")

앱이 강제로 종료된 후 몇 분 뒤 Firebase 콘솔에서 해당 크래시가 표시된다.

5. dSYM 업로드 설정

Crashlytics가 스택 트레이스를 제대로 분석하려면 dSYM 파일이 업로드되어야 한다.

SPM 환경에서는 다음 Run Script를 Build Phases에 추가한다.

"${BUILD_DIR%/Build/*}/SourcePackages/checkouts/firebase-ios-sdk/Crashlytics/run"

이 스크립트는 Archive 빌드 시 dSYM 파일을 자동으로 Firebase에 업로드한다.

SPM 환경에서 자주 발생하는 문제

  • dSYM 업로드 실패
  • Run Script 경로 문제
  • Archive 빌드에서 스크립트 미실행

이 경우 Run Script 경로를 확인하면 대부분 해결된다.

마무리

Firebase Crashlytics는 iOS 앱 운영에서 매우 중요한 도구다. Swift Package Manager를 이용하면 Firebase SDK를 훨씬 간단하게 설치할 수 있다.

설치 과정은 다음과 같이 정리할 수 있다.

  • Firebase 프로젝트 생성
  • iOS 앱 등록
  • GoogleService-Info.plist 추가
  • SPM으로 Firebase SDK 설치
  • FirebaseApp.configure() 초기화
  • Crashlytics 테스트

이 과정을 완료하면 iOS 앱에서 발생하는 크래시를 Firebase 콘솔에서 쉽게 확인할 수 있다.

Firebase Crashlytics 관련 글

반응형