WooKoo Blog

물과 같이

개발/개발

[iOS] - Firebase crashlytics 연동하기

WooKoo 2022. 4. 11. 21:51

오늘은 Firebase의 기능 중에 Crashlytics를 연동하는 것을 정리해보겠다.

 

먼저 크래시틱스는 앱에서 크래시 났을 때 어떤 부분에서 발생했는지 리포트를 만들어서 보여주는 것이다!!!

 

오류추적이라고도하는 센트리라는 프로그램이랑 비슷하다!

 

구글 Firebase에서 제공해줘서 간단하게 구현할 수 있다.

 

https://firebase.google.com/docs/crashlytics/get-started?hl=ko&platform=ios 

 

Firebase Crashlytics 시작하기  |  Firebase Documentation

Join Firebase at Google I/O online May 11-12, 2022. Register now 의견 보내기 Firebase Crashlytics 시작하기 iOS+ Android Unity 이 빠른 시작에서는 Firebase Crashlytics SDK를 사용해 앱에 Firebase Crashlytics를 설정하여 Firebase Con

firebase.google.com

이거 보고 따라하면 된다!!!

 

필자는 homebrew를 이용해서 설치했고

 

SPM으로 라이브러리를 추가해줬다.

 

앱 델리게이트에서 configure해주는 것 까지는 문제가 없을 텐데 그 이후에 잘 안되는 경우가 있으니 그 부분만 따로 정리하겠다.

 

Build Phases > Run Script 

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

 

그리고 스키마에서 

Arguments Passed on Launch 에 아래 코드를 입력

-FIRDebugEnabled

그리고 BuildSetting에서 Debug Information Format 부분을 DWARF with dSYM File 로 변경해주면 끝!

 

그러고 크래시를 내면 된다!

테스트 코드

      let button = UIButton(type: .roundedRect)
             button.frame = CGRect(x: 20, y: 350, width: 100, height: 30)
             button.setTitle("Test Crash", for: [])
             button.addTarget(self, action: #selector(self.crashButtonTapped(_:)), for: .touchUpInside)
             view.addSubview(button)
        
    
    @IBAction func crashButtonTapped(_ sender: AnyObject) {
        let numbers = [0]
        let _ = numbers[1]
    }

 

크래시가 났다고 바로 리포트에 뜨진 않고 한 5~10분 뒤에 뜨는 것 같다

 

그럼 끝!