CocoaPods 사용법 정리.

Intro

  • 이제 조금은 더 편하게 살아보자라는 심경으로 한번 알아보게 됨.
  • 애플 플랫폼에서 사용할 수 있는 의존성 관리 도구는 대표적으로 CocoaPods, Carthage, Swift Package Manager 등이 있고 이것들 중 CocoaPods를 정리해보자.
  • https://cocoapods.org/ 를 보면 되긴한다.

사용법

  • 코코아팟 설치하기
$ sudo gem install cocoapods

// 설치가 잘 됐는지 살펴 보자.
$ pod --version
  • 코코아팟 라이브러리를 적용하고 싶은 프로젝트 경로로 이동하여 ‘pod init’ 명령어를 입력합니다
// .xcodeproj 파알이 있는 곳이어야 할듯
$ cd {Xcode 프로젝트 위치}

// Profile file을 생성하자.
$ pod init

  • 생성된 Profile 내용
    • TestProject 이 프로젝트 이름임.
# Uncomment the next line to define a global platform for your project
# platform :ios, '9.0'

target 'TestProject' do
  # Comment the next line if you don't want to use dynamic frameworks
  use_frameworks!

  # Pods for TestProject

end

  • Podfile을 Xcode로 실행하자. – 이건 불필요.
$ open -a Xcode Podfile
  • Podfile에 원하는 라이브러리를 추가 후 저장 하자
    • 아래는 수정한 Profile 내용
    • SDWebImageWebPCoder 를 추가함.

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

target 'TestProject' do
  # Comment the next line if you don't want to use dynamic frameworks
  use_frameworks!
  pod 'SDWebImageWebPCoder'
  # Pods for TestProject

end

  • Podfile에 적은 라이브러리를 설치하자.
$ pod install

  • 여기서 문제 발생
    • 사용중인 macbook 이 M1 pro인데 문제가 발생해서 아래처럼 해결함
    • cocoapods 를 제거하고 brew 를 통해서 재설치함…
> sudo gem uninstall cocoapods
> sudo gem uninstall ffi
> brew install cocoapods
//시간이 엄청 걸린다...
> pod install
  • 이제 .xcworkspace 파일을 사용해서 작업하면 된다.

  • 이제 .xcworkspace 를 열어보면 아래와 같은 파일들이 추가로 생성되어 있다.

Podfile.lock : Pods의 버전 픽스를 위한 파일
Pods : 라이브러리들이 다운로드되는 디렉토리
{프로젝트명}.xcworkspace : Pods를 사용할 수 있도록 포함된 워크스페이스 
  • 마지막으로 삭제
    • cocoapods 을 삭제하려면 podfile에서 해당 라이브러리를 삭제 후 다시 pod install 해주시면 삭제됩니다

문제 해결 관련 링크

  • https://stackoverflow.com/questions/68553842/error-installing-a-pod-bus-error-at-0x00000001045b8000
  • https://developer.apple.com/forums/thread/652822
  • https://github.com/CocoaPods/CocoaPods/issues/9907#issuecomment-655870749