Git, CocoaPods, Xcode, Shell
[Cocoapods] 3. cocoapod 배포 방법
jake-kim
2021. 4. 14. 02:15
- 코코아팟 라이브러리 만드는 방법 (오픈소스)
- 코코아팟 라이브러리 소스코드 생성, 오픈소스 만들때 고려할 점
- 코코아팟 라이브러리 배포
배포 준비
- .podspec에 관한 유효성 검증
$ pod spec lint --allow-warnings

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


- 해결 후 다시 유효성 검증

* 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