오늘은 Firebase의 기능 중에 Crashlytics를 연동하는 것을 정리해보겠다.
먼저 크래시틱스는 앱에서 크래시 났을 때 어떤 부분에서 발생했는지 리포트를 만들어서 보여주는 것이다!!!
오류추적이라고도하는 센트리라는 프로그램이랑 비슷하다!
구글 Firebase에서 제공해줘서 간단하게 구현할 수 있다.
https://firebase.google.com/docs/crashlytics/get-started?hl=ko&platform=ios
이거 보고 따라하면 된다!!!
필자는 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분 뒤에 뜨는 것 같다
그럼 끝!
'개발 > 개발' 카테고리의 다른 글
[SwiftUI] - UIKit 프로젝트에서 SwiftUI (0) | 2022.04.13 |
---|---|
Swift Lint 적용 룰 (0) | 2022.04.11 |
[iOS] - RxDataSource로 테이블뷰 헤더 푸터 그리기 (MVVM) (0) | 2022.04.04 |
[iOS] - TableView Cell 갯수에 따른 유동적 높이 조절 (0) | 2022.03.29 |
[iOS] - 채팅할려고 정리하는 Swift 채팅 구현 - Socket.io & Node.JS (0) | 2022.03.22 |