Undefined Symbol 에러 때문에 빌드가 안 될 때

SteadySlower·2023년 3월 2일
0

Tips

목록 보기
7/20

이번에 새로운 프로젝트를 시작하면서 테스트를 위해서 iOS에서 테스트 작성을 도와주는 Quick과 Nimble이라는 라이브러리를 SPM을 활용해서 설치했습니다. 하지만 이 라이브러리를 설치하자마자 아래와 같은 에러가 나면서 빌드가 되지 않았습니다.

🚫 에러 메시지

에러 메시지의 내용을 보면 테스트의 라이브러리에 있는 symbol이 정의되지 않았다는 내용입니다.

원인

원인은 테스트용 라이브러리를 앱 타겟에 설치했기 때문입니다. 앱 타겟에는 당연히 테스트를 위한 symbol들이 존재하지 않습니다. 라이브러리들을 앱 타겟에서 테스트 타겟으로 이동합시다.

방법

테스트 타겟에 라이브러리 추가

프로젝트 파일을 클릭하고 테스트 타겟 → Build Phase를 선택하여 Link Binary With Libraries에 원하는 Quick과 Nimble을 추가해줍시다.

🚫 참고로 앱 타겟에서 먼저 삭제하면 SPM 설치부터 다시 시작해야 하므로 테스트 타겟에 추가하는 것 부터 진행합니다.

앱 타겟에 라이브러리 제거

그리고 나서 테스트 타겟의 같은 곳에서 이번에는 라이브러리를 삭제해주면 빌드할 때 뜨는 에러가 사라지는 것을 볼 수 있습니다.

profile
백과사전 보다 항해일지(혹은 표류일지)를 지향합니다.

0개의 댓글