본문 바로가기

삶은계란 (Diary)/Xcode

'Command MergeSwiftModule failed with a nonzero exit code' 해결하기

서론

강의 구독도 끝났고, 추석 연휴도 얼마 안 남았고,
남은 기간 동안 블로그 정리를 조금 하고, 휴식도 좀 취했다.

추석 연휴가 끝나고, 백신 접종 후 다시 공부를 시작하려니 문제가 좀 생겼다.

그 사이 iOS 15가 배포되고, 새 아이폰이 나오고, 이에 따라 새 Xcode 업데이트가 생겼는데
이런 메이저 업데이트는 처음인데도 불구하고 별 의심 없이 올렸던 게 화근이었다.

 

본론

증상은 이러하다.

새 프로젝트의 경우에도 해당하는지는 모르겠지만 이전에 사용하던 프로젝트 파일을 빌드하려는 경우에

  • Build Target을 iOS13.X나 iOS14.X로 설정하는 경우
    시뮬레이터의 버전이 어떤 것이건, 단순한 빌드를 진행하건
    위와 같이 Command MergeSwiftModule failed with a nonzeror exit code.라는 난생처음 보는 오류가 발생한다.
  • Build Target을 iOS15.0으로 설정하는 경우
    iOS15.0 시뮬레이터로 실행하거나 빌드가 정상적으로 진행 된다.

두 가지의 특징을 보이는 희한한 상황이 생긴다.

일단은 iOS15.0으로 잘 돌아가니 문제가 없지 않으냐 라고 생각할 수 있지만

SearchBar를 보면 전혀 정상이 아닌 것도 문제고,
계속 앱 개발을 진행하려면 이런 경우가 다시 생긴다고 해도 이상하지 않으므로 해결법을 알았으면 했다.

Xcode에서 프로젝트를 열고, Build Target을 정상적으로 설정한 뒤,

Product > Clean Build Folder

를 선택해 진행한다.

이후에도 정상적으로 빌드되지 않는다면 재설치를 권한다.

 

결론

그러면 정상적으로 이전 시뮬레이터도 사용할 수 있고,
해당 오류도 더 이상 발생하지 않는다.

문제는 iOS14.5 시뮬레이터도 멀쩡하진 않다는 점이다.
이밖에도 좀 소소하게 마음에 안 드는 부분들이 있는데 어쩔 수 없겠지...