충돌 용해를 위해 패브릭에서 Firebase로 마이그레이션 할 때 dSYM 제출을 완료 할 수 없음


12

Mac OS 10.14.1에서 xcode11을 사용하고 있습니다. 다음 문서를 사용하여 패브릭을 파이어베이스로 마이그레이션했습니다.

https://medium.com/@niamhpower/the-great-migration-moving-from-fabric-to-firebase-as-an-ios-developer-7b61a8b40008

그리고 crash 테스트 코드를 생성했지만이 충돌 보고서는 firebase crashlytics 콘솔에 표시되지 않습니다.이 구현에 다음 문서를 사용했습니다.

https://firebase.google.com/docs/crashlytics/force-a-crash?platform=ios

또한 Xcode 빌드 단계에서 다음 실행 스크립트를 추가했습니다.

"$ {PODS_ROOT} / Fabric / upload-symbols"-gsp "$ {PROJECT_DIR} /GoogleService-Info.plist"-p ios "$ {DWARF_DSYM_FOLDER_PATH} / $ {DWARF_DSYM_FILE_NAME}"

그러나 응용 프로그램을 실행할 때 다음 오류가 반환됩니다.

31m 오류 : /Users/macmini1/Library/Developer/Xcode/DerivedData/app_name-dnzsvdsxebmfqjbjecjlyhdzwags/Build/Products/Debug-iphonesimulator/app_name.app.dSYM : 오류 Domain = com.crashlytics.mac.dSYM 제출을 완료 할 수 없습니다. -domain.process-dsym Code = 3 "(null)에 파일이 더 이상 존재하지 않습니다"UserInfo = {NSLocalizedFailureReason = (null)에 파일이 더 이상 존재하지 않습니다}} [0m 명령 PhaseScriptExecution이 0이 아닌 종료 코드로 실패했습니다

이 문제를 해결하는 방법을 알려주십시오


여전히 문제가 발생하고 있습니다. dSYMs을 업로드 개발자 초래 된 OMG 가진 중포 기지
쥬 바이 르

안녕하세요, 나는 같은 문제에 갇혀 있습니다. 행운이 있었습니까? @ weet1988의 답변은 내 문제를 해결하지 못했습니다 (이미 이미 내 스크립트에서 실행되는 마지막 스크립트 임)
mikey

1
@mikey 나는 실행 스크립트에서 스크립트를 삭제하고 다시 추가하고 또한 xcode.Then이 again.It이 작동 실행하려고 폐쇄
IKKA

실제로 Crashlytics가 upload-symbols스크립트 없이 작동하도록했습니다 . 방금 포드를 사용 가능한 최신 버전으로 업데이트하고 $ {PODS_ROOT}/Fabric/run마지막으로 실행 했는지 확인하십시오 . 회신 @IKKA 주셔서 감사합니다
마이키

@mikey 실행 스크립트에서 $ {PODS_ROOT} / Fabric / run 명령 만 사용하고 있음을 의미했습니다. 권리?
IKKA

답변:


5

나는 같은 문제가 있었다. 그 이유는 "$ {PODS_ROOT} / Fabric / run"스크립트가 빌드 단계의 스크립트 목록에서 마지막이 아니기 때문입니다. 스크립트를 마지막으로 만들고 모든 것이 정상이되었습니다.


2
내 스크립트는 최신이지만 여전히이 오류가 발생합니다 ...
Danpe

5

find명령 을 추가하여 해결했습니다 . 업로드 기호 위에 찾기 명령 추가

예 :

"$ {DWARF_DSYM_FOLDER_PATH}"-name "* .dSYM"찾기 | xargs -I {} $ PODS_ROOT / Fabric / upload-symbols -gsp "$ {PROJECT_DIR} /MyApp/GoogleService-Info.plist"-p ios {}

"$ {PODS_ROOT} / Fabric / upload-symbols"-gsp "$ {PROJECT_DIR} /MyApp/GoogleService-Info.plist"-p ios "$ {DWARF_DSYM_FOLDER_PATH} / $ {DWARF_DSYM_FILE_NAME}"


$ {DWARF_DSYM_FILE_NAME}이 아닌 다른 .dSYM 파일을 업로드해야합니까?
CyberMew

@CyberMew, 모든 .dSYM 파일을 업로드 할 필요는 없습니다. 네 말이 맞아 따라서 업로드해야하는 파일 만 찾을 수 있습니다. 내 답변을 수정했습니다.
Ramesh RC

나는 모든 .dSYM 파일을 업로드 한 원래의 대답이 정확하다고 생각합니다. 지원을 확인했으며 "Crashlytics에는 기본 응용 프로그램의 심볼 파일과 사용 된 프레임 워크 또는 라이브러리의 심볼이 필요합니다."라고 언급했습니다. 기본적으로 예, 모든 기호 파일이 필요합니다.
CyberMew

정말 멋지다!. 비행을 테스트하기 위해 모든 .dSYM 파일을 업로드하면 "ITMS-90381 : 심볼 파일이 너무 많습니다"라는 경고가 표시됩니다. 어떤 생각?
Ramesh RC

에 업로드 test flight하시겠습니까? 대신 Firebase Crashlytics를 의미합니까? 나는 전에 그것을 만나지 못했기 때문에 확실하지 않다. 아마도이 솔루션 stackoverflow.com/questions/25755240/… 이 시도 될 수 있다면 연락 지원이 작동하지 않으면 우리가 말하는 것을 알려주십시오!
CyberMew
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.