Xcode로 애플리케이션을 빌드하는 경우 iOS/OSX는 심볼을 다음과 유사한 이름을 가진 dSYM 폴더에 배치합니다.
~/Library/Developer/Xcode/DerivedData/<build id>/Build/Products/<build type>/appname.dSYM
dSYM 파일은 애플리케이션에 대한 DWARF(Debugging With Attributed Record Formats) 디버그 정보가 포함된 ELF 파일입니다. DWARF는 소스 레벨 디버깅을 지원하는 디버깅 파일 포맷입니다.
dSYM에 올바른 UUID가 들어 있는지 확인하려면 dwarfdump
커맨드를 실행한 후 appname
을 애플리케이션의 dSYM 이름으로 바꾸십시오.
dwarfdump -u appname.dSYM/Contents/Resources/DWARF/appname
Dwarfdump는 DWARF 정보를 사람이 읽을 수 있는 포맷으로 출력하는 애플리케이션입니다.
다음은 dwarfdump의 출력 예제입니다.
UUID: 5EEDCCD2-38E7-3E52-81EC-B90C7BCD6D91 (armv7) appname.dSYM/Contents/Resources/DWARF/appname
UUID: 583173FD-6697-3E3C-90DC-EA9147563A5B (arm64) appname.dSYM/Contents/Resources/DWARF/appname
참고: dwarfdump의 출력은 대문자와 대시를 사용하여 UUID를 보고합니다. UUID는 종종 대시 없는 소문자로만 표시됩니다. 두 포맷 모두 UUID를 나타낼 수 있습니다. 예를 들어 5EEDCCD2-38E7-3E52-81EC-B90C7BCD6D91
과 5eedccd238e73e5281ecb90c7bcd6d91
은 동일한 UUID입니다.
올바른 dSYM 폴더를 찾은 후 전체 폴더를 압축하고 서비스 대시보드의 Manage Symbols 탭을 통해 퍼포먼스 리포팅 서비스에 업로드하십시오.
Bitcode가 활성화된 상태로 iOS 앱을 빌드하고 앱 스토어에 제출하면 Apple이 제출된 빌드를 후처리한 후 새 바이너리를 생성합니다. 새 바이너리는 새로운 UUID와 새로운 해당 dSYM을 보유합니다. 이 경우 iTunes Connect에서 dSYM을 다운로드해야 합니다. iTunes Connect의 My Apps > Activity > All Builds > (choose your build) 에서 사용 가능합니다.
앱 스토어에 앱을 업로드할 때는 Include bitcode for iOS content 및 Upload your app’s symbols to receive symbolicated reports from Apple 을 선택하여 앱 스토어가 올바른 심볼로 새 dSYM을 생성하도록 해야 합니다.
새 dSYM을 다운로드하면 dwarfdump를 사용하여 UUID가 올바른지 확인하십시오. 해당 파일을 압축 후 Manage Symbols 탭을 통해 퍼포먼스 리포팅 서비스에 업로드하십시오.
Manage Symbols 탭을 통해 새 심볼을 업로드하는 경우 업로드 시점과 이용 가능 시점 사이에 짧은 간극이 있습니다. 새로운 크래시를 제출하기 전에 최소 5분 정도 기다려주십시오. 처리가 끝나면 올바르게 기호화된 새 보고서가 생성됩니다.
기호화에 대한 자세한 내용은 Apple 개발자 웹사이트에서 애플리케이션 크래시 보고의 이해 및 분석(Understanding and Analyzing Application Crash Reports)의 크래시 보고 기호화(Symbolicating Crash Reports) 섹션을 참조하십시오.
참고: 새 dSYM lD를 업로드해도 보고서는 다시 기호화되지 않습니다. 새로운 크래시를 제출하여 새 심볼을 사용하는 보고서를 생성해야 합니다.