코코아팟을 사용해 네이버 지도 SDK를 설치하던 중 터미널에서 에러 메시지를 받았다.
pod파일 내에 라이브러리의 버전 또는 깃허브 주소를 명시하지 않아서 생긴 문제는 있었지만
이번에 겪은 오류는 아예 다른 문제였기에 포스팅을 한다.
1. 문제
LoadError - dlsym(0x7f8926035eb0, Init_ffi_c): symbol not found - /Library/Ruby/Gems/2.6.0/gems/ffi-1.13.1/lib/ffi_c.bundle /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require' /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require' /Library/Ruby/Gems/2.6.0/gems/ffi-1.13.1/lib/ffi.rb:6:in `rescue in <top (required)>'
... 중략
구글 검색을 통해 찾아낸 결론은 CocoaPod과 실리콘 맥(M1) 사이의 호환성(?) 문제이다.
인텔 맥에서 실리콘 맥으로 넘어오면서 기존 앱에서 실리콘 맥에 호환이 안되는 부분이 생겼고
애플은 이럴 때 "Rosetta를 사용해서 열기" 옵션을 사용하라고 권장한다.
발견한 해결방법은 아래와 같다.
2. 해결방법
1) CocoaPod 삭제 후 Homebrew를 통해 재설치
터미널에 순서대로 아래 명령어를 실행한다.
# 1. 설치된 코코아팟 삭제
sudo gem uninstall cocoapods
# 2. Homebrew로 재설치
brew install cocoapods
2) ffi 설치 후 pod install
터미널에 아래 명령어를 순서대로 실행. 이때 arch -x86_64 를 사용해 반드시 아키텍처를 지정해준다.
i386 : 인텔 32비트
x86_64 : 인텔 64비트
arm64 : 애플 실리콘 64비트
# 1. ffi 설치
sudo arch -x86_64 gem install ffi
# 2. pod install
arch -x86_64 pod install
3) Rosetta로 터미널 실행 후 ffi 설치
터미널을 Rosetta로 실행하고 아래 명령어 실행
sudo gem install ffi
나는 2번 방법으로 해결할 수 있었다!
참고한 링크
https://github.com/CocoaPods/CocoaPods/issues/10220
'IOS' 카테고리의 다른 글
[IOS] API 통신에서 겪은 SSL 인증서 및 ATS 관련 이슈에 대하여 (0) | 2022.10.05 |
---|---|
[IOS] NaverMap SDK 사용 중 알게된 Git LFS에 대하여 (0) | 2022.10.03 |
[IOS] UIView의 tintColor 프로퍼티에 대하여 (0) | 2022.07.27 |
[IOS] UserDefault 사용해보기 (0) | 2022.07.17 |
[IOS] 열거형을 사용해서 간단한 앱 만들어보기 (0) | 2022.07.17 |