iOS 개발자라면 다들 CocoaPods 을 사용해보셨을 거라고 생각합니다.
라이브러리 관리에서 주로 많이 사용하는데 하나의 절차 정도로만 생각하고 사용하는 경우가 많았는데
협업을 진행하면서 어느정도 활용법은 알아두는 것이 좋을 것 같아 글을 작성하게 되었습니다 ^^
이번 글의 중점적인 내용은 pod install 실행과 pod update 실행을 차이 입니다!
(전 처음에는 단순히 새로 프로젝트 시작할 때 install 그 이후 업데이트 시 update 로 알고 있었습니다... ;-;)
1. pod install
처음으로 알아볼 것은 pod install 입니다.
다들 아시다시피 프로젝트 생성 후, pod 세팅을 진행 시 실행해주는 커멘드입니다.
해당 커멘드를 실행하면 최초 프로젝트 생성 시에 Podfile 에 작성해둔 각 pod 리스트를 설치하고, 설치된 각 pod 의 버전들을 Podfile.lock 파일에 기록합니다.
*Podfile.lock 역할은 기록된 pod 들의 버전들을 추적하여 유지시킨다고 합니다.
때문에, 이후에 pod install 을 실행한다면 Podfile.lock 에 설정된 버전들을 설치하게 됩니다.
해당 pod 들이 새로운 버전이 나와도 따로 업데이트되진 않고 기록된 버전으로 설치하게 되는 것입니다.
그렇다면 Podfile.lock 리스트에 없는 pod 은 어떻게 될까?
그 경우는 기존에 최초 생성 시 때처럼 Podfile 에 작성되어 있는 버전으로 설치가 진행됩니다.
2. pod update
다음으로 알아볼 것은 pod update 입니다.
pod update 같은 경우는 Podfile.lock 를 참조하지 않고, 설치된 모든 pod 을 최신으로 업데이트를 시켜줍니다.
때문에, 아마 실행해보신 분들은 pod update 가 완료되고 Podfile.lock 리스트가 갱신되는 것을 아실 수 있습니다.
3. 종속성
pod install 이나 pod update 실행하다 보면 아래와 같은 오류가 출력될 때가 있습니다.
CocoaPods could not find compatible versions for pod "[Pod명]"
{생략}
None of your spec sources contain a spec satisfying the dependencies: '[Pod명]'
{생략}
You have either:
* out-of-date source repos which you can update with `pod repo update` or with `pod install --repo-update`.
* mistyped the name or version.
* not added the source repo that hosts the Podspec to your Podfile.
해당 내용은 Pod 실행을 위한 종속성이 충족되지 못할 때 발생하는 에러입니다.
이런 경우에는 에러 메시지에도 나왔듯이 pod repo update 혹은 pod install --repo-update 실행 시 해결됩니다 (^^)/
마무리
혼자서 개발을 하다 보면 상황에 맞게 자신이 정해서 개발을 진행하는 경우가 많은데 협업을 하다보면 그 해당 프로젝트만의 룰이 있기 때문에 룰을 지켜가면서 개발에 임하는 것도 고려를 해야 합니다.
그렇기 때문에 완벽히는 아니더라고 어떠한 상황이 주어졌을 때 올바른 처리를 할 수 있도록 간단한 지식은 알아두는 것이 좋을 것 같습니다!
많은 도움이 되었으면 좋겠습니다! (_ _)
'iOS > 지식 공유' 카테고리의 다른 글
[iOS] CocoaPods로 라이브러리 도입하기 (0) | 2020.01.19 |
---|---|
[iOS] Carthage로 라이브러리 도입하기 (0) | 2020.01.12 |