본문 바로가기
iOS/설명

[iOS] Podfile.lock

by Sky Titan 2023. 2. 5.
728x90

https://ios-development.tistory.com/m/346

 

[iOS - swift] cocoapods 개념, podfile.lock, gemfile.lock, bundle exec pod

Cocoapods이란 일반적으로 오픈소스를 관리하는 방법에는 아래 방법 존재, 두 가지 단점을 극복한 오픈소스 관리하는 cocoapods - 압축 파일로 소스를 받아서 직접 프로젝트에 넣는 방법 - 버전 업데

 

ios-development.tistory.com

 

CocoaPods Guides

CocoaPods is fully open-sourced, so it depends on community contributions to get better. If you're looking to start working on CocoaPods, this is the place to start.

guides.cocoapods.org

Podfile.lock

  • Pod들의 버전을 기록하여 팀 단위로 개발을 진행 시 팀원끼리 같은 버전을 공유할 수 있도록 해주는 개념
  • Podfile 작성 후, pod install을 처음으로 호출할 시 생성된다.
  • Podfile에 작성되서 설치된 library들의 정확한 버전을 기록하고 트랙킹한다.

 

Podfile.lock의 구성

PODS:
  - lottie-ios (3.3.0)

DEPENDENCIES:
  - lottie-ios

SPEC REPOS:
  trunk:
    - lottie-ios

SPEC CHECKSUMS:
  lottie-ios: 6ac74dcc09904798f59b18cb3075c089d76be9ae

PODFILE CHECKSUM: 2aca5fb325270137666c6035a4534bbc4e86353d

COCOAPODS: 1.11.2
  • PODS: 사용된 프레임워크와 버전 명시
  • DEPENDENCIES: 의존성을 구분하기 위하여 프레임워크들이 나열
  • SPEC REPOS: 프레임워크들의 다운받는 주소 명시
  • SPEC CHECKSUMS: pod 버전에 대한 유일성을 보증하는 값이다.
    • 만약 Pod의 버전이 하나라도 바뀐다면 checksum값도 변하게 된다.
    • 즉, 버전관리를 숫자로 하는 것이 아닌, 해쉬 알고리즘으로 생성되는 checksum값으로 하게된다.
  • PODFILE CHECKSUM: Podfile에 대한 유일성을 보증하는 값이다.
    • Podfile에 변화가 생기면 checksum값도 변하게 된다.
    • Pod install할 때마다, 변화가 있다면 새로 생성이 된다.

 

Podfile checksum 변화 예시

원래 Podfile:

# Uncomment the next line to define a global platform for your project
# platform :ios, '9.0'

target 'Practice' do
  # Comment the next line if you don't want to use dynamic frameworks
  use_frameworks!
	pod 'lottie-ios'

end

원래 Podfile.lock (checksum cf7b406fbd547b48a4afb383db4ca00b9b5c6f3e):

PODS:
  - lottie-ios (3.3.0)

DEPENDENCIES:
  - lottie-ios

SPEC REPOS:
  trunk:
    - lottie-ios

SPEC CHECKSUMS:
  lottie-ios: 6ac74dcc09904798f59b18cb3075c089d76be9ae

PODFILE CHECKSUM: cf7b406fbd547b48a4afb383db4ca00b9b5c6f3e

COCOAPODS: 1.11.2

 

Podfile의 중간에 있는 주석을 제거하고 pod install

Checksum이 변경된 모습을 확인할 수 있다. (26bf2933eef8fee1c5a8027f6fc03609b90e8ad6)

PODS:
  - lottie-ios (3.3.0)

DEPENDENCIES:
  - lottie-ios

SPEC REPOS:
  trunk:
    - lottie-ios

SPEC CHECKSUMS:
  lottie-ios: 6ac74dcc09904798f59b18cb3075c089d76be9ae

PODFILE CHECKSUM: 26bf2933eef8fee1c5a8027f6fc03609b90e8ad6

COCOAPODS: 1.11.2

 

728x90

댓글