안녕하세요 에밀리입니다
오늘은 Firebase의 Crashlytics에 crash report를 커스터마이징하는 방법을 살펴보겠습니다
Custom crash report 구현을 위해…
위 주소에서 ‘심각하지 않은 예외 로깅’
2.
위 애플 문서에서 Listing 2–7의 Implementing a method that returns an NSError
object를 참조했습니다.
먼저 Custom crash report란?
Firebase Crashlytics에는 사용자가 앱을 이용하다가 비정상 종료될 경우나 다른 여러가지 오류들이 올라옵니다.
보통은 이런 형식입니다.
해당 crash report를 보고 버그를 수정할 수도 있겠지만,
가끔 심각하지 않은 예외 상황도 있겠죠
그리고 crash report를 나한테 맞게 작성해서 오류를 빠르게 파악하고 싶다면?
Crashlytics에 전달되는 crash report를 커스터마이징할 필요성을 느끼게 됩니다
그래서 구현했습니다.
Custom crash report
- Crashlytics에 오류 보고하는 코드는 다음과 같습니다.
[CrashlyticsKit recordError: error];
저기서 굵게 표시된 error는 NSError 객체로 domain, code, userInfo 정보 세 가지를 포함해야 합니다.
2. error에 필요한 정보를 포함하여 오류를 보고하는 모듈을 만들어줍니다
거꾸로 보자면,
Crashlytics에 보고할 코드가 1476번째 줄에 있습니다.
그럼 error는 뭐냐?
1474번째 줄에서 NSError 객체를 만들어줬습니다.
initWithDomain에는 임의로 도메인 이름을 설정해주었습니다.
(도메인은 기본 도메인이 있고, 원하는 이름으로 설정해주어도 됩니다)
code는 에러코드로, 마찬가지로 임의로 설정해줘도 됩니다
userInfo는 위에 1471번째 줄에서 생성해주고 있습니다
NSLocalizedString으로 에러에 대해 설명합니다.
에러 설명인 description은 모듈 파라미터로 받아옵니다
2. 생성한 모듈을 예외처리하고 싶은 부분에 넣어줍니다
저는 hasList가 NO라면 list가 없다는 설명을 description 값에 넣어주었습니다.
(설명은 자유롭게~)
3. 이제 해당 예외가 생길 경우 Crashlytics에 다음과 같이 리포팅됩니다!
이상입니다