티스토리 뷰

IT/Android iOS

About cocoapods

리쫑v 2017. 9. 24. 16:11

Bless 앱 만들때 사** 형이 ui작업하며 cocoapods를 사용하는것을  봤지만 크게 신경쓰지 않았다.


alamofire라는 플러그인을 사용하는데 cocoapods라는 플러그인 관리 매니저?? 라는게 있구나 하는 정도로 이해하고 넘어갔다.




프론트를 본격적으로 하려고 보니 디자이너와의 협업에 대해 생각하게 되었고


전에 공부했던 


Faceboo keyframes -> https://github.com/facebookincubator/Keyframes

Airbnb Lottie -> https://github.com/airbnb/lottie-ios#introduction


에 관심이 생겼다


근데 키프레임스보다 로티가 좀더 널리 활용되는것으로 보여 좀 공부하려고 찾아보니


이역시 cocoapods로 패키지가 관리되고 있는것으로 파악됐다.


따라서 코코팟즈 사용법을 먼저 정리하고 넘어간다.


https://www.raywenderlich.com/156971/cocoapods-tutorial-swift-getting-started

코코팟즈 사용법은 위 페이지를 보면 상세히 알 수 있다.

나는 다만 한국어로 편하게 요약을 할 뿐이디.



맥 sierra 기준으로 터미널을 열어

> sudo gem install cocoapods 


-> 여기서 gem은 RubyGems is a sophisticated package manager for Ruby.  This is a

루비잼이라는건데 루비로 만든 패키지 매니저 라고 한다.


여튼 install cocoapods를 한 뒤에

    pod setup --verbose
    

팟 셋업을 해주면된다고 한다.


sudo가 필요한건 install cocoapods 할때 뿐인것으로 보인다.



어떤 xcode플러그인이 필요한 경우 cocoapods 셋업을 해주는데 이때 podfile이라는게 사용된다.



Xcode를 종료하고

해당 프로젝트 폴더에 들어가서


pod init을 해주면 podfile이 생성되고

생성된 podfile을 통해 패키지가 관리된다.


필요한 패키지가 있는경우

    pod 'Alamofire', '4.4.0'
    

위와같은 명령어로 dependency를 추가한다.

이건 의존성만 추가되는 명령어 이며

업데이트나 최초 설치할땐

pod isntall / pod update를 추가로 실행해줘야 해당 패키지를 받아서 프로젝트에 넣어주게 된다.



추가된 패키지는

import Alamofire


이런식으로 사용하면 된다.

fileprivate func loadFlavors() {

  // 1
  Alamofire.request(
    "https://www.raywenderlich.com/downloads/Flavors.plist",
    method: .get,
    encoding: PropertyListEncoding(format: .xml, options: 0)).responsePropertyList {
      [weak self] response in

      // 2
      guard let strongSelf = self else { return }

      // 3
      guard response.result.isSuccess,
        let dictionaryArray = response.result.value as? [[String: String]] else {
          return
      }

      // 4
      strongSelf.flavors = strongSelf.flavorFactory.flavors(from: dictionaryArray)

      // 5
      strongSelf.collectionView.reloadData()
      strongSelf.selectFirstFlavor()
  }
}

위와같은 방식으로 사용된다고 한다.



기본개념은 이렇다고 한다.


이제 lottie를 추가하고 사용해보도록 하자.



댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함