(편의상 편한 말투로 작성하는 점 이해 부탁드립니다.😅)
(부정확한 정보가 있을 수 있습니다. 지적 환영🤗)
안녕하세요! Hatchling입니다!
오늘은 XcodeCloud를 사용하던 중 발생했던 이슈에 대해 이야기 해보려고 합니다!
사실 결론부터 말하면 굉장히 허무했지만 처음 겪은 이슈인 만큼 정리해두면 다시 기억하기도 좋고 혹시나 저 같은 분이 계실까 싶어 정리해보도록 하겠슴다!
1. Command SwiftCompile failed with a nonzero exit code
XcodeCloud를 통해 Archive를 진행하던 중 위 에러가 발생했습니다.
사실 위 에러는 굉장히 많은 이유로 발생할 수 있는 에러이기 때문에 저 메세지만 보고서는 어떤 문제인지 파악할 수 없기 때문에 Archive Log를 확인해야 했습니다.
음.... 네! 모르겠습니다😭 (혹시나 저런 에러메세지를 어떻게 읽을 수 있을지 아는 분이 있다면 Help..)
어떤 설정이 잘못되었나 싶어도 혼자 개발하고 있고 제가 저런 설정들을 건드린 적이 없기 때문에 저 메세지만으로는 어떤 문제가 있는지 파악하기 어려웠습니다.
다행히도 XcodeCloud에서는 Crash나 Result를 제공하고 있다고 하여 바로 Crash 파일을 다운로드해 열어봤으나 더 혼란이...😵💫
도저히 읽을 엄두조차 나지 않는 파일이었습니다.. 그렇다고 평소에 보던 symbolicate crash file도 아니었구요..? 처음보는 파일이더라구요? 그래도 혹시나 dsym으로 읽을 수 있을까 하여 dsym을 다운받기 위해서 Xcode에서 Archive를 진행해봤습니다.
놀랍게도 Crash가 없으며 dsym도 없었습니다!🤗 (XcodeCloud에서도 dsym은 제공하지 않는 것 같습니다..)
여기까지 오니 더 혼란이 오더라구요.. XcodeCloud에서는 읽을 수 없는 메세지를 주며 에러를 뱉지.. Xcode에서는 에러 자체가 없지.. 구글링을 해봐도 같은 문제를 겪는 사람도 없지... 어찌해야하오...
2. 문제 파악(feat. XCResult)
삽질을 하던 중 XcodeCloud에서 제공하는 아티팩트들 중에서 XCResult를 제공하는 것을 보고 혹시나 싶어 다운받아 열어봤습니다.
Build 과정이 정말정말 세세하게 나열되어 있었습니다!
여기서 비로소 문제점을 파악할 수 있었습니다!!!
특정 라이브러리를 컴파일 하는 과정에서 앱이 죽었습니다..
하지만 저는 저 라이브러리를 설치한 기억이 없습니다???
찾아보니 TCA를 설치하면서 같이 설치된 라이브러리였습니다!
3. 해결
해당 라이브러리의 깃허브를 들어가 Issue들을 살펴보았습니다.
Xcode 15.3 버전에서 문제가 발생해 해결했다는 이슈를 발견하였습니다.
내 Xcode는 15.3이 아닌데.... 저는 혹시몰라 업데이트가 뜨고 나서도 최소한 한달 이상은 지켜보고 업데이트를 하는데 이 무슨..?
혹시 XcodeCloud를 활용하시는 분이 계신다면 눈치를 채셨나요??
1. XcodeCloud에서만 에러가 발생하며 Xcode에서 Archive할 땐 에러가 발생하지 않음.
2. 특정 라이브러리에서 특정 버전에서 발생하는 문제가 있음.
3. Xcode 버전이 해당 버전이 아님.
네.. 맞습니다. XcodeCloud에서 테스트하는 버전이 Latest Release로 되어있었는데 이 버전이 15.3 버전이었습니다.
이제 문제 파악은 끝났으니 해결은 쉽죠??
저 라이브러리에서 문제를 해결한 버전 이상으로 업데이트만 해주면 해결이 됩니다!
결론만 보면 정말 허무할 정도로 간단만 문제였지만 하루를 꼬박 삽질만 했습니다..🤗
그래도 이번 이슈를 해결하면서 많은 것을 알아가게 되어 다행인 것 같습니다!!
아직도 XcodeCloud에서 제공하는 Crash 파일을 어떻게 읽어야 할 지는 모르겠습니다ㅠㅠ(알고 계신 분이 계신다면 알려주시면 감사를!)
혹시나 비슷한 문제를 겪고 있으신 분들에게 조금이나마 도움이 되길 바랍니다!
저는 이만 물러가도록 하겠습니다!
'Issue' 카테고리의 다른 글
[Issue] Xcode Cloud Custom Build Scripts (0) | 2024.02.27 |
---|---|
[Issue] SwiftUI NavigationLink의 상태 관리 (0) | 2024.02.19 |