iOS/기술

코코아팟 출시하기

kihun5393 2021. 9. 28. 15:41

터미널

코코아팟 라이브러리 생성

라이브러리를 만들 경로로 이동하여 라이브러리를 만들어준다.

 

pod lib create 이름

 

그 뒤에 나오는 5가지 질문에 대답해준다.

1. 어떤 플랫폼을 사용하시겠습니까?

iOS

2. 어떤 언어를 사용하시겠습니까?

Swift

3. 라이브러리에 데모 애플리케이션을 포함하시겠습니까?

Yes

데모 앱으로 테스트를 해볼 수 있다.

4. 어떤 테스팅 프레임워크를 사용할 것인가?

None

5. 보기 기반 테스트를 하시겠습니까?

No

 

4번과 5번을 Quick, Yes 로 입력하면 오류가 걸릴 수도 있다.

 

이렇게 하면 pod이 설치되고 Xcode 프로젝트가 자동으로 실행된다.

 


Xcode

라이브러리 수정

Pods - Development Pods - 라이브러리 이름 - ReplaceMe.swift

파일 이름을 라이브러리명으로 수정하고 파일 내용을 입력한다.

외부에서 import 해서 사용하기 위해서 반드시 open 이나 public 으로 작성해야 한다.

 

라이브러리 테스트

Example 에 있는 ViewController를 수정하여 테스트를 해본다.

아까 라이브러리 생성할때 3번에 Yes 체크한게 이부분이다!

실행하면 출력이 잘 되는걸 확인할 수 있다.

 

Podspec 수정

 

git 원격 저장소 생성

레파지토리 이름은 라이브러리에 맞추어 주고 public으로 생성해줍니다.

 

깃허브 레파지토리 확인

깃허브로 들어가서 확인해보면 아래와 같이 올라와 있습니다.

(저는 출시하고 캡쳐한거라 pod, license 가 변경되어 있는데 처음 올리면 비어져 있어요.)

 

코코아팟에 배포하기

podspec 확인

터미널

먼저 .podspec 파일에 이상이 없는지 체크해야한다.

터미널에서 라이브러리 프로젝트 경로로 이동한다. 그리고 명령어를 입력한다.

pod spec lint

 

만약 '원격 저장소'에 0.1.0 버전 태그가 없다는 에러가 뜬다면 태그를 만들어줘야 한다.

 

0.1.0 태그 버전 업데이트

Xcode

Xcode에서 Commit 및 Push to remote를 같이 해준다.

터미널

라이브러리 프로젝트 경로의 터미널에서 명령어를 입력해준다.

git tag 0.1.0
git push origin 0.1.0

0.1.0 버전 태그를 붙이고 레파지토리에 push 해주는 것이다.

 

그리고 다시 podspec 파일 체크를 해준다.

pod spec lint

여기에서 에러나 경고가 없다면 passed validation 이 뜬다.

(경고를 그냥 무시하고 싶으면 pod spec lint --allow-warnings 입력)

 

코코아팟에 등록하기

pod에 등록해 주기 위해 터미널에 명령어를 입력한다.

pod trunk register 이메일주소 이름

 

이메일로 이동해서 링크를 확인한다.

코코아팟 사이트로 이동되고 셋업이 완료되었다고 뜬다.

 

코코아팟에 출시하기

터미널에서 라이브러리를 코코아팟에 푸쉬해준다.

pod trunk push 라이브러리이름.podspec

여기에서 자신의 맥이 M1 이라면 에러가 뜹니다. M1 터미널 호환문제로 인한 에러입니다.

그러면 아래와 같이 명령어를 수정해주세요.

arch -x86_64 pod trunk push 라이브러리이름.podspec

arch -x86_64 명령어는 터미널을 인텔맥처럼 돌아가게 만들어주는 명령어입니다.

(코코아팟 설치할때와 마찬가지 에러)

 

그리고 경고를 무시하고 싶으면 명령어를 다시 수정합니다.

arch -x86_64 pod trunk push 라이브러리이름.podspec --allow-warnings

 

성공하면 축하한다는 메시지를 받게되요.

 

코코아팟 출시 확인하기

위에 보이는 링크(https://cocoapods.org/pods/ReusingFramework)를 인터넷주소창에 입력하면 자신의 깃허브 레파지토리로 이동됩니다.

pod: v0.1.0, license:MIT 로 변경되어 있으면 성공입니다.

 

정말 간혹 변경이 안되어 있을 수 있는데 코코아팟 사이트(https://cocoapods.org/)로 이동시 Internel Server Error 가 뜨면서 로드가 안될 수 있는데 코코아팟 내부 서버 문제입니다.(제 경우가 그랬어요...)

 

코코아팟 설치로 내가 등록한 라이브러리가 잘 불러와지는지 확인해보면 됩니다.