2016-10-20 12 views
0

크래시 틱스를 사용하기 시작한 이유는 DSYM을 업로드해야하고 이 아닌 전체 일치 .app 바이너리가 일치해야합니다. 나는 DSYM 파일이 일치하는 이진 파일이 필요하다는 인상을 받고있었습니다. 그렇지 않은가요? 기본적으로 Crashlytics가 내 앱에서하는 모든 작업을 상징하는 방식을 알아 내려고하는 것은 DSYM을 업로드하는 게시 빌드 스크립트를 실행하는 것입니다.DSYM 및 이진 기호가 필요합니까? 아니면 그냥 DSYM?

+0

이 기능은 http://stackoverflow.com/questions/28404342/ios-symbolicate-crash-report-without-the-app-binary의 dup 일 수 있습니다. 그 Q는 답이 없습니다. – stonedauwg

답변

3

Mike from Fabric and Crashlytics here.

dSYM 파일에는 실제로 충돌 보고서를 나타내는 데 필요한 앱의 모든 디버그 기호가 포함되어 있습니다. 따라서 Debug_Information_Format을 "dSYM으로 난장이"로 설정하는 것이 좋습니다. 또한 고유 한 빌드 ID를 생성하므로 빌드 및 버전 번호가 변경되지 않더라도 해당 빌드에 대해 업로드 된 dSYM은 기호화해야하는 모든 충돌 보고서에 대해 정확합니다.

this from Apple에 대한 자세한 정보도 읽을 수 있지만 가장 중요한 부분은 "컴파일러가 소스 코드를 기계어로 변환 할 때 컴파일 된 바이너리의 각 기계 명령어를 다시 디버그 심볼로 생성합니다. 디버그 정보 형식 (DEBUG_INFORMATION_FORMAT) 빌드 설정에 따라 이러한 디버그 기호는 바이너리 또는 함께 제공되는 디버그 기호 (dSYM) 파일에 저장됩니다. "

위와 같이 기호는 dSYM 파일에만있을 수 있으므로 Debug_Information_Format으로 설정하는 것이 좋습니다.

+0

고마워요. @MikeBonnell, 저에게 모두 의미가 있습니다. 그러나 여전히 Xcode가 바이너리를 요구하는 이유와 dosym (연결된 Apple doc도 이것을 지정합니다)을 이해하지 못합니다. atos 명령과 여러분이 상징하기 위해 사용하는 것은 없습니다 – stonedauwg

+0

Debug_information_format이 dSYM으로 설정된 Dwarf에 없다면, 디버그 기호는 별도의 dSYM 파일 대신 디버그 관련 빌드 용 바이너리에 포함됩니다. –

+0

난쟁이 w/dSYM 결과는 dSYM에서만 기호로 표시됩니다. 그러나 사실이라면 왜 XCode는 Crashlytics가 dSYM 만 필요로 할 때 dSYM뿐만 아니라 바이너리 (.app) 파일도 필요합니까? atos cmd의 매뉴얼 페이지를 읽었으며 dSYM과 함께 바이너리가 필요하다는 것을 암시하는 것처럼 보입니다. Fabric이 XCode 및 atos보다 차별화 된 기술을 사용하고 있기 때문입니까? – stonedauwg