문제 해결¶
크래시 로그 분석 정보¶
개발 시 Debug 및 Release 모드에서 Crash 발생 시 캡처된 스레드 역추적은 심볼화됩니다. 그러나 릴리스 패키지에는 심볼 테이블이 포함되어 있지 않아 예외 스레드의 핵심 역추적이 이미지 이름으로 표시되며 유효한 코드 심볼로 변환되지 않습니다. 획득한 crash log의 관련 정보는 일반적으로 16진수 메모리 주소로, 크래시 코드를 직접 식별할 수 없으므로 16진수 메모리 주소를 해당 클래스 및 메서드로 변환해야 합니다.
컴파일 또는 패키징 후 dSYM 파일을 찾는 방법¶
- Xcode에서 dSYM 파일은 일반적으로 컴파일된
.app파일과 함께 생성되며 동일한 디렉터리에 위치합니다. - 프로젝트를 보관(archive)한 경우 Xcode의
Window메뉴에서Organizer를 선택한 후 해당 보관 파일을 선택합니다. 보관 파일을 우클릭하고Show in Finder를 선택한 후 Finder에서 해당.xcarchive파일을 찾습니다..xcarchive파일을 우클릭하고Show Package Contents를 선택한 후dSYMs폴더로 이동하면 해당 dSYM 파일을 찾을 수 있습니다.
Xcode 컴파일 후 dSYM 파일이 생성되지 않는 경우¶
Xcode Release 컴파일은 기본적으로 dSYM 파일을 생성하지만 Debug 컴파일은 기본적으로 생성하지 않습니다. 해당 Xcode 설정은 다음과 같습니다.
Build Settings -> Code Generation -> Generate Debug Symbols -> Yes
Build Settings -> Build Option -> Debug Information Format -> DWARF with dSYM File
Include of non-modular header inside framework module¶
SDK의 .h 파일에서 종속 라이브러리의 .h 파일을 가져오므로 다음 설정이 필요합니다.
Target -> Build Settings -> CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES를 YES로 설정합니다.

