목차
최근에 앱을 배포하고나서 Appstore Connect에서 Reject을 당했습니다.
확인해보니
앱을 초기 실행하면서 충돌이 났다고 합니다.

우선 해결해봐야하니 거절(Reject) 첨부 파일 (Bug report) 파일을 받아야겠습니다.
1. 버그리포트 다운받기
버그리포트 파일은 Reject 사유 하단에서 받으면 됩니다. (여러 개 일경우 비슷한 에러로그기 때문에 큰 문제는 되지 않겠지만 우선 다 받아봅시다)
2. 버그리포트 파일을 .crash 파일로 확장자 바꾸기
Finder에서 받은 버그리포트.txt 파일을 버그리포트.crash로 바꾸는 작업을 합니다. 방법은 쉽습니다. 이름 바꾸기에서 .txt 를 .crash로 바꾸면 됩니다. 바꿀때 메시지가 뜨는데요!
여기와 같이 .crash 사용을 눌러주시면 crash 파일로 바뀌게 됩니다.
3. 암호화된 버그리포트를 복호화 하기
일단 버그리포트는 암호화되어있기 때문에 복호화 해야합니다. 그 과정을 설명드리겠습니다.
- 프로젝트 파일이 있는 Xcode를 실행
- 맥북 혹은 맥에 테스트 폰을 연결합니다.
- 상단 툴바에 Window 탭 클릭
- Devices and Simulators 를 클릭 합니다. (단축키는 Command + Shift + 3 입니다. )
- 상단에 View Device logs를 클릭합니다.
- 좌측 상단에 All Logs 탭을 누르고 아까 .crash 파일로 변환했던 로그들을 이곳에 드래그 & 드랍을 합니다.
4. 에러 확인하기
Thread 0 Crashed 에서 자신의 앱 이름이 보이는 부분을 찾습니다. 아마 상단에 2개 보일 것 입니다.
저는 보아하니 AppDelegate 함수에서 에러가 난듯 합니다. (정확히 346번째 줄에서 나갔다고 하네요)
논외지만 Force unwrapping (강제 언래팅)으로 생긴 결과인듯합니다. (안전하게 if let, guard let 사용합시다...)
이런식으로 확인할 수 있습니다.
예전에는 에러 로그 확인하려면 앱 심볼파일 받고 에러파일 확인하고 Terminal에서 조작하고 이런 부분이 번거로웠습니다. 이런방식으로 crash 파일을 Xcode에서 붙여 넣기 하면 Error 내용을 깔끔하게 확인 할 수 있을 듯 합니다.
'iOS' 카테고리의 다른 글
[Swift] 권한 요청 정리 (0) | 2023.12.01 |
---|---|
[iOS] Deffered Deep link를 클립보드로 구현하기 (0) | 2023.11.28 |
[Xcode] Xcode 15 에러 + cocoapod Error 해결 방법 (0) | 2023.11.21 |
[Swift] Hashable 프로토콜 이해하기 (0) | 2023.11.17 |
[Swift] 접근제어에 대해서 알아보기 (0) | 2023.11.09 |