답변:
최신 버전의 CocoaPods가 설치되어 있는지 확인하십시오. $ pod update POD
최근에 소개되었습니다.
자세한 내용은 이 이슈 스레드를 참조하십시오 .
$ 포드 업데이트
를 실행
pod update SomePodName
하면 CocoaPods는에 나열된 버전을 고려하지 않고 업데이트 된 포드 버전 PodPodName을 찾으려고 시도합니다Podfile.lock
. 포드를 가능한 최신 버전으로 업데이트합니다 (Podfile의 버전 제한과 일치하는 한).포드 이름없이 포드 업데이트를 실행하면 CocoaPods는 포드 파일에 나열된 모든 포드를 최신 버전으로 업데이트합니다.
$ pod update SomePodName
. 그러나 CocoaPod가 다른 포드의 종속성을 업데이트하려고하는 경우도 있습니다. 간단히 말해 SomePodName은 경우에 따라 업데이트되는 유일한 포드가 아닙니다.
pod install
하면 원래 버전으로 돌아갑니다. 그러나 나는 내 변화를 잃고 싶지 않다
pod update
모든 것을 만집니다. 그것은 주석에서 말하는 것을하지 않으며 매우 실망합니다. 터치하지 말라고하지 않은 다른 포드에서 헤더를 임의로 제거합니다.
따라서 pod update SomePod
최신 버전의 cocoapod의 모든 항목을 다루므로 해결 방법을 찾았습니다.
다음 단계를 수행하십시오.
제거 SomePod
으로부터Podfile
운영 pod install
포드는 이제 SomePod
프로젝트와 Podfile.lock
파일 에서 제거 됩니다.
다시 넣어 SomePod
로Podfile
pod install
다시 실행
이번에는 최신 버전의 포드가 설치되어에 저장됩니다 Podfile.lock
.
pod update somepod anotherpod thirdpod
한 번에 여러 개의 포드를 업데이트 할 수도 있습니다.
SomePod
최신 종속성으로 업데이트 되는지 최신 공유 공유 종속성을 업데이트하지 않을지 궁금합니다 anotherPod
. Podlock의 내용에 관계없이 발생하지 않습니까? 그렇지 않으면SomePod
그냥 말 :
pod install
-새로운 포드 설치
pod update
-기존 포드를 업데이트하는 경우
pod update podName
-다른 포드를 건드리지 않고 특정 포드 만 업데이트
pod update podName versionNum
-다른 포드를 건드리지 않고 특정 포드를 업데이트 / 다운 그레이드
pod
대신에 의미 했습니까 git
?
tl; dr 사용 :
pod update podName
왜? 아래를 읽으십시오.
pod update
을 존중하지 않습니다 podfile.lock
. 재정의합니다.pod install
~을 존중할 것이다 podfile.lock
이 다이어그램은 차이점을 더 잘 이해하는 데 도움이됩니다.
주요 문제는 ~>
일명 낙관적 연산자 에서 비롯됩니다 .
Podfile
것만으로는 충분하지 않습니다일부 Podfile
에서와 같이 광고 모음의 정확한 버전을 지정 pod 'A', '1.0.0'
하면 모든 사용자가 팀의 다른 사용자와 동일한 버전을 갖도록 보장하기에 충분 하다고 생각할 수 있습니다 .
그런 다음 pod update
새 포드를 추가 할 때도 다른 포드를 특정 버전으로 고정하기 때문에 업데이트 할 위험이 없다고 생각할 수도 Podfile
있습니다.
그러나 실제로 위의 시나리오에서 user1과 user2가 항상 모든 포드의 동일한 버전을 얻을 것이라는 보장은 충분하지 않습니다.
일반적인 예는 포드 A
가 포드 에 종속 된 경우 A2
—로 선언 A.podspec
됩니다 dependency 'A2', '~> 3.0'
. 이 경우, 'A', '1.0.0'
Podfile에서 pod 를 사용 하면 실제로 user1과 user2는 항상 pod A의 버전 1.0.0을 사용하지만,
A2
버전에서 포드 로 끝날 수 있습니다 3.4
( A2
당시 최신 버전 이었기 때문에 )pod install
나중에 프로젝트에 참여할 때 user2가 실행 되면 A2
버전에서 포드가 생길 수 있습니다 3.5
(관리자가 A2
그 동안 새 버전을 릴리스 했기 때문에 ). 그렇기 때문에 모든 팀원이 각 컴퓨터에서 동일한 버전의 모든 포드를 사용할 수있는 유일한 방법은 vs를 Podfile.lock
올바르게 사용하는 것 입니다.pod install
pod update
위의 발췌는 모두 포드 설치 대 포드 업데이트 에서 파생되었습니다.
나는 또한 높게보고 추천 무엇을 podfile.lock
할 일을
podfile.lock
. 링크 및 참조하는 비디오를 참조하십시오.