일모도원(日暮途遠) 개발자

[iOS오류수정] File not found: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/arc/libarclite_iphonesimulator.a 본문

iOS개발/오류수정

[iOS오류수정] File not found: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/arc/libarclite_iphonesimulator.a

달님개발자 2023. 7. 1. 22:54

간만에 iOS앱을 수정하기 위해서 빌드를 해보니 아래처럼 에러가 나온다. (XCode 14부터 나오는 에러라고 한다)

File not found: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/arc/libarclite_iphonesimulator.a

에러메시지를 꼼꼼히 안봐서 첨에는 시뮬레이터쪽이슈인가 했는데, 구글링 해보니 libarclite가 deprecated를 지나서 obsolete가 되어서 나온 에러다.

Xcode 14 only supports building for a deployment target of iOS 11.  libarclite was necessary for older OS versions, but is now obsolete. If you're encountering errors referring to this library, you should audit every target in your project for those that declare support for a minimum deployment target under iOS 11, and update them to at least iOS 11, or something more recent than that. You should not modify your Xcode installation to resolve this.

 

수정방법은 타겟을 11이상으로 올려주면 된다. 나의 경우는 앱은 전부 11이상이지만, 사용하는 라이브러리들이 11미만 인것들이 좀 있다.

일일히 모든 타겟들을 XCode에서 수정줘도 되지만, 구글링 해보니 Podfile을 수정해서 스크립트로 돌린다.

Podfile에 아래를 추가한다. 아래스크립트를 정확하게 이해는 안되지만, 모든 Podfile내 라이브러리를 12로 적용한다. (내 앱들의 타겟들은 OS 버전이 변경되지 않고 그대로이다.)

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'] = '12.0'
               end
          end
   end
end

해당 프로젝트가 있는 경로로 가서 pod install 명령어로 해결이 되었다. 

git:(working*)> pod install
Analyzing dependencies
Downloading dependencies
Generating Pods project

보니까 모든 Pods내의 타겟들이 12로 일괄적으로 업그레이드 되어 있고, 빌드를 해보니 이상없이 잘된다.


아래는 사족(蛇足)이니 안봐도 된다.

저 경로가 궁금해서 한번 봐봤다.

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/arc/libarclite_iphonesimulator.a

 

/Applications/Xcode.app을 찾아서 오른쪽 마우스 클릭으로 "패키지 내용 보기"를 열어 본다.

패키지 내용을 보니, "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain" 까지만 보인다.

보니까 "XcodeDefault.xctoolchain" 역시 패키지 인가 보다.

"XcodeDefault.xctoolchain"를 패키지 내용 보기로 열어보니 

usr/lib다음에 arc라는 폴더가 없다. 

처음 에러 로그처럼 "libarclite_iphonesimulator.a"파일만 없는게 아니고 "arc"폴더 자체가 없어졌다.