
iOS 앱을 개발하다 보면 가끔 빌드 중에 이상한 오류 메시지를 만나게 된다. 그 중 하나가 다음과 같다:
SDK does not contain 'libarclite' at the path '/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/arc/libarclite_iphoneos.a'; try increasing the minimum deployment target
이 글에서는 이 오류가 왜 발생하는지, 그리고 어떻게 해결할 수 있는지 쉽게 설명한다.
오류 메시지를 보면 'libarclite'라는 파일이 없다고 나와 있다. 이 파일은 ARC(자동 참조 카운팅)와 관련된 라이브러리로, Xcode와 특정 iOS 버전에서 필요하다.
이 오류가 발생하는 주요 이유는 프로젝트의 최소 배포 대상(iOS Deployment Target)이 너무 낮게 설정되어 있어서 최신 Xcode와 iOS SDK에서 필요한 라이브러리를 찾지 못하기 때문이다.
배포 대상이 낮음: 프로젝트의 최소 배포 대상이 낮게 설정되어 있으면, 최신 Xcode가 지원하지 않는 오래된 iOS 버전을 대상으로 빌드하려고 시도할 수 있다. 이때 필요한 'libarclite' 파일이 없어서 오류가 발생한다.
CocoaPods 설정 문제: 프로젝트에서 CocoaPods을 사용하고 있다면, Podfile에 설정된 배포 대상이 낮게 설정되어 있을 수 있다. 이 경우 모든 라이브러리가 낮은 버전을 타겟으로 설정되어 문제를 일으킨다.
이 문제를 해결하려면 프로젝트의 최소 배포 대상을 올려야 한다. 특히 CocoaPods을 사용하는 경우 Podfile에 설정을 추가하여 모든 타겟의 배포 대상을 한 번에 변경할 수 있다.
Podfile 열기: 프로젝트 폴더에 있는 Podfile을 텍스트 편집기로 연다.
post_install 스크립트 추가: Podfile의 마지막 부분에 아래 코드를 추가한다. 이 코드는 모든 라이브러리의 배포 대상을 iOS 13.0으로 설정한다.
post_install do |installer|
installer.generated_projects.each do |project|
project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '13.0'
end
end
end
end
Pod 재설치: 터미널을 열고 프로젝트 폴더로 이동한 다음, 다음 명령어를 실행한다.
pod install
이 명령어는 Podfile의 설정을 반영하여 필요한 라이브러리를 다시 설치한다.
프로젝트 빌드: Xcode에서 프로젝트를 다시 빌드한다. 이제 오류가 사라지고 정상적으로 빌드가 진행될 것이다.
Xcode에서 발생하는 'libarclite' 누락 오류는 배포 대상 설정 문제로 인해 발생할 수 있다. 이 문제는 Podfile을 수정하여 배포 대상을 올려줌으로써 쉽게 해결할 수 있다. 앞으로 비슷한 오류가 발생할 때 이 방법을 참고하면 빠르게 문제를 해결할 수 있을 것이다.
행운을 빌며, 성공적인 iOS 개발을 기원한다!