본문 바로가기

Tech

Firebase Crashlytics dsym 자동으로 올리기

보통 cocoapods으로 설치하니까...  그 기준으로 

 

firebase 에 crashlytics 가 있는데 (구 fabric에 있던 그거 맞습니다.) 여기에 dSYM 을 올려야되는데

기존에는 그냥 xcode나 appstoreconnect 에서 받은거 올려도 상관없는데 2020/03/01 일자로 중지한다고해서 추가하게됨

 

공식 문서에는 debug, release 둘다 Debug Information Format 을 DWARF with dSYM File 으로 바꾸면 된다고 하는데

테스트 디버그 빌드할때는 솔직히 상관없으니... release build 할때만 하게 설정 냅두고

 

project >targets > build phases 에서 run script 하나 추가해주면된다.

 

# Type a script or drag a script file from your workspace to insert its path.
if [ -d ${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME} ]; then
    echo "+++++ DYMS FIND, send firebase(fabric) crashlytics"
    "${PODS_ROOT}/Fabric/upload-symbols" -gsp "${PROJECT_DIR}/GoogleService-Info.plist" -p ios "${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}"
else
    echo "DYMS is not found, skip"
fi

 

대부분은 이해하겠지만, 혹시 googleservice-info.plist 가 ${project_dir} 하위가 아닌어딘가의 폴더 하위라면 저걸 수정 해주면된다.

"${PROJECT_DIR}/GoogleService-Info.plist" 을 "${PROJECT_DIR}/sampleapp/GoogleService-Info.plist" 이라던지

 

그럼 릴리즈 모드일때만 dsym 가 생기고 그걸 run script에서 감지하고 fabric upload-symbols 을 실행함.