[swift] Swift에서 Firebase의 앱 크래시 리포팅 기능 활용하기

Firebase는 개발자들에게 앱의 성능을 모니터링하고 개선할 수 있는 다양한 도구를 제공하는 플랫폼입니다. 그 중에서도 앱 크래시 리포팅 기능은 앱이 크래시되는 경우에 자동으로 리포트를 생성하여 개발자에게 제공해주는 기능입니다. Swift로 앱을 개발하는 경우에도 Firebase의 앱 크래시 리포팅 기능을 쉽게 활용할 수 있습니다.

1. Firebase 프로젝트 설정

먼저 Firebase 콘솔에 접속하여 Firebase 프로젝트를 생성하고 앱을 등록해야 합니다. Firebase 프로젝트가 생성되면 다운로드 가능한 GoogleService-Info.plist 파일을 받을 수 있습니다. 이 파일은 후에 Xcode 프로젝트에 추가해야 합니다.

2. Cocoapods를 통한 Firebase 설치

Firebase를 사용하려면 Cocoapods를 통해 Firebase SDK를 설치해야 합니다. Cocoapods를 이용하여 Firebase의 Crashlytics 라이브러리를 설치하는 방법은 다음과 같습니다.

# Podfile

platform :ios, '11.0'

target 'YourApp' do
  use_frameworks!
  
  pod 'Firebase/Crashlytics'

end

이후 터미널에서 pod install 명령을 실행하여 Firebase SDK를 설치합니다.

3. Firebase 초기화

Xcode에서 GoogleService-Info.plist 파일을 프로젝트에 추가하고, AppDelegate.swift 파일을 열어 Firebase를 초기화해야 합니다.

import Firebase

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

4. Crashlytics를 통한 크래시 리포팅 활성화

Firebase 초기화 후에는 크래시 리포팅을 활성화해야 합니다. 이를 위해 AppDelegate.swift 파일에 다음 코드를 추가합니다.

import FirebaseCrashlytics

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
    FirebaseApp.configure()
    
    Crashlytics.crashlytics().setCrashlyticsCollectionEnabled(true)

    return true
}

5. 앱 크래시 테스트

Firebase의 앱 크래시 리포팅 기능이 정상적으로 설정되었는지 확인하기 위해 크래시를 발생시켜보겠습니다. 예를 들어, 버튼 클릭 시 강제로 크래시를 발생시키는 코드를 작성합니다.

import Crashlytics

@IBAction func crashButtonTapped(_ sender: UIButton) {
    fatalError()
}

버튼을 클릭하면 앱이 크래시되고, Firebase 콘솔에서 해당 크래시 리포트를 확인할 수 있습니다.

참고 자료