본문 바로가기

개발/FRONT

[Xcode] pod install 오류 발생 해결 방법 CocoaPods could not find compatible versions for pod

728x90

 

 

[ [!] CocoaPods could not find compatible versions for pod "ChannelIOSDK":
  In snapshot (Podfile.lock):
    ChannelIOSDK (from `https://mobile-static.channel.io/ios/latest/xcframework.podspec`)

  In Podfile:
    ChannelIOSDK (from `https://mobile-static.channel.io/ios/latest/xcframework.podspec`)

It seems like you've changed the version of the dependency `ChannelIOSDK` and it differs from the version stored in `Pods/Local Podspecs`.
You should run `pod update ChannelIOSDK --no-repo-update` to apply changes made locally. ]

 

 

 

cocoaPods를 사용하여 종속성을 추가할 때, 

 

오류가 날 경우가 있다

 

오늘은 pod install 발생 시, 오류를 처리하는 방법을 포스팅한다

 


1.

기존에 가지고 있던 종속성 제거 후, 다시 실행

 

pod deintegrate

 

pod install 

 

알수 없는 이유로 인해 pod install 이 제대로 실행되지 않을 경우가 있다

이럴 때는 모두 삭제 후, 다시 install을 진행해보자

 

또는

 

pod update

(모듈 하나에만 적용할 경우, pod update [모듈 명]  --no-repo-update

 

pod update는 팟을 최신버전으로 업데이트 시켜준다

해당 팟의 버전이 낮아 호환이 안되는 경우가 있으니, update를 실행시켜보자

 

오히려 팟 버전이 높아서 호환이 안되는 경우도 생기니 주의하자


 

2.

Xocde 캐시 삭제 / 잔여 캐시 삭제

 

계속해서 빌드하다보면 Xcode 경로에 캐시가 너무 많이 저장되어 오류가 생길 수 있다

또한 프레임워크의 설정을 받아오지 못해서 생겨난 오류 일 수 있다

 

2.1 

빌드 폴더 클린 방법

 

Xcode 상단 Product 선택 -> Clean Build Folder

 

 

2.2 잔여 캐시 날리는 방법

 

rm -rf ~/Library/[사용자명]/Xcode/DerivedData

 

이후 pod install 

 


3

Podfile 수정

 

프로젝트 내부 ios 폴더 > Podfile 

 

use_flipper! 부분 확인 후, 주석처리

 

아래와 같이 설정하자

  #use_flipper!
  post_install do |installer|
  #  flipper_post_install(installer)
    installer.pods_project.targets.each do |target|
      target.build_configurations.each do |config|
        config.build_settings.delete 'IPHONEOS_DEPLOYMENT_TARGET'
      end
    end
  end
end
cs

 

이후, Podfile.lock 파일을 삭제 후 다시 pod install 실행

 


4

모듈 처음부터 다시 다운로드 받고 종속성 추가

 

node_modules

package.lock.json

ios > Podfile.lock

Pods 폴더

 

상단에 있는 항목 모두 삭제 후 아래의 명령어 실행

 

4.1

(sudo) npm install or (sudo) yarn install

(도중 permission denied error 가 발생할 수 있으니 왠만하면 sudo 를 붙여주고 진행하자)

 

4.2

cd ios

pod install

 

 


5.

Podfile에서 직접 팟을 설치하는 경우, 버전에 대한 이슈가 생길 수 있음

 

해당 경우는 아주 찾기 어렵다

 

예시는 다음과 같다

 

  pod 'module', podspec: 'https://mobile-static.channel.io/ios/latest/module.podspec'
cs

 

이 문구는 Podfile에서 module이라는 팟을 직접 설치하는 문구다

 

여기서 podspec 부분을 보면 latest 라는 문구가 있는데, 

 

해당 문구처럼 직접적으로 팟을 설치하는 경우에, 가장 최신의 버전으로 pod install을 진행하려고 한다

 

하지만 팟의 버전이 변경되면서 프로젝트 설정과 충돌하는 일이 발생한다

 

ex ) 

9 버전의 팟에서 test 라는 메소드를 사용하고 있는데, 10버전의 팟이 설치되면서 test 메소드가 test2 메소드가 되는 경우

 

이런 경우, 내가 사용하고 있었던 버전을 latest 부분에 넣어주면 해결된다

 

latest > 9

 

 

728x90