본문 바로가기
iOS, Swift 개발

Release Monitoring 적용을 위한 Firebase 업데이트시 에러 'libarclite', 'libarclite_iphoneos.a' 문제

by Nin J 2024. 4. 12.

안녕하세요.

오늘은 제가 경험한 문제인 'libarclite', 혹은 'libarclite_iphoneos.a'로부터 발생되는 문제를 이야기해보려고 합니다.

일단 이 문제의 시발점은 Firebase의 Release Monitoring을 하기 위해서 pod Firebase 의 업데이트가 필요한 상황이었습니다.

https://firebase.google.com/docs/release/release-monitoring?hl=ko#required-sdk-versions

 

최신 앱 릴리스의 안정성을 모니터링하세요.  |  Firebase Crashlytics

5월 14일, Google I/O에서 Firebase를 다시 만나보세요. 지금 등록하기 이 페이지는 Cloud Translation API를 통해 번역되었습니다. 의견 보내기 최신 앱 릴리스의 안정성을 모니터링하세요. 컬렉션을 사용해

firebase.google.com

요구 사항은 Apple 플랫폼: v10.8.0+ 이상의 버전으로 Firebase 업데이트하면 가능하다는 부분이어서 업데이트를 진행하게 되었습니다.

 

pod 'Firebase/Crashlytics', '~> 10.10.0'

pod 'Firebase/Analytics', '~> 10.10.0'

안정성을 기반으로 최신버전이 아닌 10.10.0 버전으로 진행하였고 정상적으로 업데이트를 진행하였습니다.

 

Xcode 에서 빌드를 실행했지만 에러가 발생하여 빌드가 되지 않았습니다.

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

이 부분을 찾아보니  minimum deployment target 변경을 하여 해결할 수 있을 거 같아서 pod에서 해당되는 부분의 

target을 12,13 등등으로 테스트하며 올려 줬습니다.

 

하지만  또 다른 에러인  에러 코드 ("dt_toolchain_dir cannot be used to evaluate library_search_paths, use toolchain_dir instead") 가 발생되었고

구글링 한 데로 맥 터미널에서 sudo gem install cocoapods과 pod update를 진행했지만 역시나 빌드가 되지 않았습니다.

이유는 바로 적용이 안 되는 것이었습니다.

 

pod --version을 하면 신규로 cocoapods 업데이트 버전이 나와야 하는데

에러 코드(ignoring ffi-1.15.5 because its extensions are not built) 이렇게 나오면서 실질적으로 업데이트가 되지 않는 것이었습니다.

 

여기서 잠깐 1. Firebase 업데이트 후 빌드가 안되고 2. cocoapods 버전 업데이트 후 버전 up이 되지 않는 상황으로 왔습니다.

 

일단 2번 해결을 위해 방법 저 방법 찾아보다 결론은 역시 맥을 재부팅을 하니 정상적으로 신규 cocoapods 버전으로 업데이트가 되었습니다.

그 후 Firebase를 적용하기 위해 minimum deployment target의 일괄 적용을 위해 Target 안에

해당 소스를 적용하고 빌드를 진행하니 기존 소스 안에 pod으로 추가된 프레임워크 모두가 minimum deployment target 이 12로 변경되었고 정상적으로 빌드를 진행할 수 있었습니다.

결론 첫째 libarclite_iphoneos.a 이슈가 발생되면 미니넘 타겟을 일괄적용 하는 소스를 추가한다.

둘째는 dt_toolchain_dir 이슈가 발생하면 cocoapods 업데이트하고 재부팅 후 다시 xcode를 실행한다.

끝.