관리 메뉴

김종권의 iOS 앱 개발 알아가기

[Cocoapods] 3. cocoapod 배포 방법 본문

Git, CocoaPods, Xcode, Shell

[Cocoapods] 3. cocoapod 배포 방법

jake-kim 2021. 4. 14. 02:15
  1. 코코아팟 라이브러리 만드는 방법 (오픈소스)
  2. 코코아팟 라이브러리 소스코드 생성, 오픈소스 만들때 고려할 점
  3. 코코아팟 라이브러리 배포

배포 준비

  • .podspec에 관한 유효성 검증
$ pod spec lint --allow-warnings

빨간색 -> .podspec파일에 잘못 입력한 것

  • Git에 있는 라이브러리를 tag작성과 Release하지 않은 경우 발생
  • Git에서 Release 추가: 방법 참고 - ios-development.tistory.com/356

  • 해결 후 다시 유효성 검증

Warning은 존재하지만 통과된 상태

* WARN 유형

1) "- WARN  | summary: The summary is not meaningful.": .podspec부분의 s.summary 값을 디폴트로 둔 경우

2) "- WARN  | [iOS] swift: The validator used Swift `4.0` by default because no Swift version was specified. To specify a Swift version during validation, add the `swift_versions` attribute in your podspec. Note that usage of a `.swift-version` file is now deprecated.": s.swift_version = '5.0' 추가

 

* ERROR 유형

1) [iOS] file patterns: The `source_files` pattern did not match any file: 
  - tag정보가 .podspec하고 git release와 다른 경우
  - Classes디렉토리에 파일이 존재하지 않는 경우

배포하기

  • 계정 인증: 아래 명령어 입력 시 해당 이메일로 메일이 온 후 인증
    - .pods
$ pod trunk register {이메일} {이름}

  • 오류 발생
    : "Netrc::Error - Permission bits for '/Users/jongkwon-kim/.netrc' should be 0600, but are 644"

  • .netrc파일의 접근제한 변경하면 해결
$ chmod 0600 ~/.netrc // 소유자 (110) rw 권한

접근권한 변경 후 재시도할 경우 성공

  • 이메일에서 인증

링크 클릭 시 인증 성공

  • 배포: podspec에 명시된 정보 + git에 올라간 정보를 가지고 pod에 배포
    - 직전에 pod spec lint를 통해 유효성 검증을 했으므로 정상 동작 기대
$ pod trunk push {라이브러리명}.podspec
  • 성공

 

* 참고

www.raywenderlich.com/5823-how-to-create-a-cocoapod-in-swift

Comments