CocoaPods를 사용하다보면 여러 오류를 만날텐데 밑에 적은 오류방법들은 많은 블로그들과 자료를 보며 찾은 해결방법이다.
만약 m1맥북을 사용한다면 꼭 brew를 이용하여 라이브러리를 설치하는것을 추천한다.
brew 설치법
공식홈페이지를 보면서 설치하면 된다.
차례대로 설치해보자.
터미널에 들어가서 밑에 명령어를 입력하자.
$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
추가적으로 패스워드나 키를 입력하라는 창을 모두 지나가면 설치가 완료된다.
만약 본인이 Intel macOS이라면 더이상 설정할필요는 없다. 하지만 m1이라면 추가적으로 path를 설정해줘야 한다.
처음에 설치하게 되면 HOMEBREW_PREFIX위치가 기본으로 Intel macOS위치로 되어 있어 Apple Silicon위치로 바꾸는 과정이 필요하다.
best prefix (/usr/local for macOS Intel, /opt/homebrew for Apple Silicon)
$ echo 'eval $(/opt/homebrew/bin/brew shellenv)' >> /Users/cpuu/.zprofile
$ eval $(/opt/homebrew/bin/brew shellenv)
명령어를 입력 후 터미널을 종료하고 다시들어가 brew config를 입력하면 HOMEBREW_PREFIX: /opt/homebrew로 되어있는 것을 볼 수 있다.
이 후 brew install cocoapods를 해주자.
brew install cocoapods했을 때 link오류가 나는 경우
brew link cocoapods가 뜰 때
brew link cocoapods나 brew link --overwrite cocoapods를 입력하면 쓸 수 없다는 오류가 나는 경우가 있다.
그럴 경우 /usr/local/lib의 접근 권한을 바꿔주고 링크한 후 reinstall 후 권한을 다시 바꿔놓는다.
$ sudo chmod 776 /usr/local/lib
$ brew link --overwrite cocoapods
$ brew link cocoapods
$ brew reinstall cocoapods
$ sudo chmod 755 /usr/local/lib
cocoapods 오류
undefined method 'map' for nil:NilClass
이전
$ sudo arch -x86_64 gem install ffi
$ arch -x86_64 pod install
현재는 위에 방법대로 brew를 m1버전으로 설치 후 오류가 뜨지 않음
Xcode에서 라이브러리가 빌드 안될 때
- pod update
- pod install
- rm -rf ~/Library/Developer/Xcode/DerivedData (빌드캐시 날림)
pod install - 현재 프로젝트에 있는 cocoapods파일 삭제(xcworkspace, Podfile.lock, Pods)
pod install - cocoapods 삭제 후 brew로 재설치
cocoapods 삭제 방법
프로젝트를 다른사람과 진행하다보면 라이브러리가 수정될 수도 있는데
이 과정에서 코코아팟이 꼬여서 빌드가 안 될 수도 있다.
위에 방법대로 해결해보고도 안된다면 최후의 방법으로 cocoapods을 삭제 후 brew로 재설치하는 것을 적극 추천한다.
$ sudo gem uninstall cocoapods
$ sudo gem uninstall cocoapods-core
$ sudo gem uninstall cocoapods-downloader
$ brew uninstall cocoapods
참고:
- https://brunch.co.kr/@tilltue/58
- https://unnnyong.com/2020/05/18/ios-%EC%98%A4%ED%94%88-%EC%86%8C%EC%8A%A4-%EB%9D%BC%EC%9D%B4%EB%B8%8C%EB%9F%AC%EB%A6%AC-%EC%82%AC%EC%9A%A9%ED%95%98%EA%B8%B0-carthage-cocoapods-swift-package-manager/
- https://coding-sojin2.tistory.com/165
- https://tech.kakao.com/2022/06/02/swift-package-manager/
- https://cpuu.postype.com/post/9183991
- https://velog.io/@think2wice/homebrew%EB%A1%9C-node%EC%84%A4%EC%B9%98%ED%95%A0%EB%95%8C-%EC%97%90%EB%9F%AC-%ED%95%B4%EA%B2%B0
- https://stackoverflow.com/questions/66644365/cocoapods-on-m1-apple-silicon-fails-with-ffi-wrong-architecture
'iOS' 카테고리의 다른 글
SnapKit (0) | 2022.11.11 |
---|---|
CocoaPods vs SPM vs Carthage (0) | 2022.11.11 |