개발을 시작하는 이야기

[Error] Command Ld failed with a nonzero exit code 본문

개발 이야기/Swift

[Error] Command Ld failed with a nonzero exit code

Teiresias 2022. 3. 28. 18:48

새로운 토이 프로젝트를 제작해보기 위해 새로운 프로젝트 파일을 만들고 기본 작업을 시작했다.

코드 베이스로 만들기 위해 SnapKit을 연결하고, 프로젝트 파일과 Info.plist에서 각각 스토리보드를 삭제해주고 SceneDelegate의 scene(_:, willConnectTo:, options:) 메서드에도 설정을 마쳤는데 이상하게 빌드하면 아래와 같은 에러 메시지가 발생했다.

Command Ld failed with a nonzero exit code

가장 먼저 들었던 생각은 내가 새로운 프로젝트를 시작한게 오랜만이라 Humen Error가 발생했구나 싶어서 과정을 다시 되짚어봤지만 딱히 초기 설정들 뿐이라 잘못 설정하는 것보다는 무언가를 놓쳤나 싶어서 다시 봤었다. SnapKit도 재설치 헤보고 클린 빌드도 수행했지만 에러는 여전히 발생했다.

 

그래서 구글에 검색을 했더니 StackOverflow에서 관련된 주제가 있어서 살펴봤는데 나와 비슷한 문제를 겪는 사람들은 많았지만 동일한 케이스는 찾을수 없었다. 하지만 Pod라이브러리가 문제인 것 같은 방향성은 얻을 수 있었다.

 

하지만 이미 재설치와 클린빌드가 먹히지 않았던 터라 고민을 하고 SnapKit의 Github를 찾아가 내용을 보다가 문득 생각이 났다.

프로젝트 파일에서 SnapKit을 Recently Used를 사용해서 연결했던 것이 떠올라 Recently Used가 아닌 검색을 해서 다시 빌드해주었다.

 

Dependency Rule을 변경하며 몇번을 재설치에 재설치를 거듭했더니 어느 순간 Error 코드가 변경이 되면서 빌드가 되었다. 변경된 Error코드는 기존에 import 된 SnapKit을 다시 import 해주는 것으로 해결되었다.

 

세줄요약

1. nonzero exit code와 관련된 에러는 Swift 4.2 Xcode10 이상에서 발생한다.

2. Pod 인식이 잘못되는 경우가 있으니 삭제후 재설치 해준다.

3. SPM 설치시 Recently Used가 좋은 방법은 아닐지도 모른다?

'개발 이야기 > Swift' 카테고리의 다른 글

[SwiftUI] SwiftUI란?  (0) 2022.04.03
Get과 Post의 차이점  (0) 2022.04.01
UserDefaults  (0) 2022.03.27
Data Binding (Observable)  (0) 2022.03.26
MVVM(Model, View, ViewModel) 패턴  (0) 2022.03.25