티스토리 뷰

Mobile/Flutter

[Flutter] CocoaPods 설치 및 사용

풍요로운 해구름 2021. 2. 12. 23:43

CacaoPods는 Swift 혹은 Object-C 프로젝트에서 사용할 수 있는 의존성 관리도구입니다. .NET 진영의 Nuget이나 Node 진영의 NPM과 동일한 역할을 담당하게 됩니다. 애플에서 공식 개발한 것은 아니고, 2011년 Eloy Durán와 Fabio Pelosin에 의해 개발되었으며 가장 방대한 라이브러리 풀을 제공하고 있으며 가장 널리 사용되는 도구입니다. (애플에서는 Swift Package Manager라는 의존성관리도구를 제공하지만 라이브러리 규모에서 CocoaPods에 비해 밀리는 편입니다.)

Flutter iOS 프로젝트에서도 CocoaPods을 통해 패키지를 관리하는 경우가 많습니다. 여기서는 Flutter 프로젝트에 CocoaPods를 설치하고 사용하는 방법에 대해서 소개드립니다.

Flutter에 CocoaPods 설치

  1. 맥 운영체제가 설치된 MacBook이나 Mac이 필요합니다. Mac에서 [터미널]을 실행해주세요.
  2. 터미널에서 Flutter 프로젝트의 iOS 폴더로 이동해주세요.
    터미널에서 iOS 폴더로 이동
  3. 터미널에서 아래 명령어를 통해 CocoaPods를 설치해주세요.
    $ sudo gem install cocoapods
    $ pod init
  4. 설치가 완료되면 Podfile 파일이 생성됩니다.
    Podfile 파일

CocoaPods 라이브러리 추가/제거

  1. 위에서 생성했던 Podfile을 텍스트편집기로 열어주세요.
    Podfile를 텍스트편집기로 열기
  2. 파일을 열면 아래와 같이 구성되어 있습니다.
    # Uncomment the next line to define a global platform for your project
    # platform :ios, '9.0'

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

    # 여기에 원하는 라이브러리 내역 추가

    # Pods for Runner

    end
  3. 원하는 라이브러리를 추가하시려면 pod '라이브러리명', '~> 버전' 형태로 내역을 입력하시면 됩니다. 예를들어 SwiftyJSON 라이브러리를 추가하려면 아래와 같이 작성해주세요. (버전은 생략가능)
    # Uncomment the next line to define a global platform for your project
    # platform :ios, '9.0'

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

    pod 'SwiftyJSON', '~> 2.3'

    # Pods for Runner

    end
  4. 파일을 저장하신 후 터미널에서 pod install 명령어를 입력하시면 라이브러리가 프로젝트에 추가됩니다.
    pod install 명령 실행
  5. 추가된 라이브러리를 삭제하려면, 간단히 Podfile에서 해당 라이브러리 문장을 삭제하시고, 터미널에서 pod install 명령을 실행하시면 됩니다.

CocoaPods 명령어 내역

  • pod init : 프로젝트에 Podfile을 생성해줍니다.
  • pod install : Podfile 파일에 작성된 라이브러리를 프로젝트에 추가합니다.
  • pod update : Podfile 파일을 바탕으로 라이브러리를 업데이트합니다.
  • pod update 라이브러리명 : Podfile을 바탕으로 지정한 라이브러리만 업데이트합니다.
  • pod outdated : 업데이트가 필요한 라이브러리 내역을 출력합니다.
  • pod deintegrate : 프로젝트에서 CocoaPods을 완전히 제거합니다.

References

댓글
댓글쓰기 폼