Crashlytics 대시보드에서 읽을 수 있는 비정상 종료 보고서 받기

기본적으로 Firebase Crashlytics는 디버그 기호(dSYM) 파일을 자동 처리해 사람이 읽을 수 있는 가독화된 비정상 종료 보고서를 제공합니다. 이 동작은 Crashlytics를 앱의 빌드 단계로 초기화하는 실행 스크립트를 추가할 때 설정됩니다.

dSYM 업로드에 실패하는 상황이 몇 가지 있는데 대부분은 고유의 프로젝트 구성 또는 앱의 비트코드가 그 원인입니다. 이 가이드에서는 Crashlytics가 앱의 dSYM을 찾을 수 없을 때 문제를 해결할 수 있는 몇 가지 방법을 제공합니다.

Xcode의 dSYM 생성 확인

일반적으로 dSYM 파일이 누락되는 이유는 Xcode가 dSYM 파일을 생성하지 않기 때문입니다. 업로드에 실패하면 Crashlytics에서 'dSYM 누락' 알림을 Firebase Console에 표시합니다. 이 알림을 받을 경우 먼저 Xcode로 각 빌드에 올바른 dSYM 파일이 생성되는지 확인합니다.

  1. Xcode에서 프로젝트를 열고 Xcode 탐색기에서 해당 프로젝트 파일을 선택합니다.

  2. 기본 빌드 대상을 선택합니다.

  3. 대상의 Build Settings(빌드 설정) 탭을 열고 All(전체)을 클릭합니다.

  4. 'debug information format'(디버그 정보 형식)을 검색합니다.

  5. 모든 빌드 유형의 Debug Information Format(디버그 정보 형식)DWARF with dSYM File(dSYM 파일로 DWARF)로 설정합니다.

  6. 앱을 다시 빌드합니다.

이제 비정상 종료 보고서가 Firebase Console에 표시됩니다. 문제가 지속되거나 다른 오류가 발생하면 dSYM을 찾아 Crashlytics에 수동으로 업로드해 보세요.

dSYM 찾기

Crashlytics가 비트코드 구성 또는 콘솔 연결로 인해 앱의 dSYM을 찾을 수 없는 경우도 있습니다. 이 경우 다음 두 가지 방법으로 문제를 해결할 수 있습니다.

dSYM 업로드

dSYM을 수동으로 업로드하려면 콘솔 기반 '드래그 앤 드롭' 옵션을 사용하여 dSYM 파일이 포함된 zip 파일을 업로드하세요(Firebase Console로 이동 > Crashlytics > dSYM 탭).

또한 Crashlytics에는 백업으로 빌드 프로세스 중 언제든 호출해 dSYM 파일을 직접 업로드할 수 있는 스크립트인 upload-symbols도 포함되어 있습니다. 이 스크립트는 업로드 프로세스에 관한 자세한 정보와 보다 종합적인 오류 메시지를 제공합니다. 사용법 참고사항 및 추가 안내는 매개변수 없이 upload-symbols를 실행하여 확인하세요.

비트코드 dSYM을 업로드할 때 다음을 실행하여 zip 파일에 있는 아이콘 파일을 삭제하는 것이 도움이 될 수 있습니다.

unzip appDsyms.zip
cd appDsyms rm -rf $(find . | grep Icon)
# Enumerate all the dSYMs
upload-symbols ... $(ls)

upload-symbols 스크립트를 실행하려면 다음 옵션 중 하나를 사용합니다.

  • 빌드 프로세스에 다음 줄을 포함시킵니다.

    find dSYM_DIRECTORY -name "*.dSYM" | xargs -I \{\} $PODS_ROOT/FirebaseCrashlytics/upload-symbols -gsp /PATH/TO/GoogleService-Info.plist -p PLATFORM \{\}
  • 터미널에서 직접 스크립트를 실행합니다.

    /PATH/TO/PODS/DIRECTORY/FirebaseCrashlytics/upload-symbols -gsp /PATH/TO/GoogleService-Info.plist -p ios /PATH/TO/dSYMs