본문 바로가기

iOS/스터디

[Swift] 코코아팟(CocoaPods) 라이브러리를 만들어 보자

300x250

직접 라이브러리를 만들어 코코아팟(cocoapods)으로 배포하는 방법에 관한 포스트입니다.

 

 

1. 라이브러리 프로젝트 생성

먼저, 터미널을 열고 프로젝트를 생성하고 싶은 위치로 이동합니다.

그 후 터미널에

$ pod lib create [프로젝트명]

을 입력하여 프로젝트를 생성해줍니다.

그후 터미널에서 보여지는 몇가지 질문에 답을 해주면 됩니다.

 

* 이 부분은 iOS, macOS중 어느 라이브러리를 만드냐에 따라 질문이 달라집니다.

 

먼저, iOS용 라이브러리를 만들 경우에는 다음의 질문에 자신의 상황에 맞게 답변해주시면 됩니다.

iOS용 라이브러리를 만들 경우

- 어떤 플랫폼으로 만들꺼니?

- 어떤 언어 사용할거니?

- 라이브러리에 데모용 앱 넣을꺼니?

- 어떤 테스팅 프레임워크 사용할꺼니?

- view기반 테스팅 할꺼니?

 

macOS용 라이브러리를 만들 경우에는 다음과 같습니다.

macOS용 라이브러리를 만들 경우

- 어떤 플랫폼으로 만들꺼니?

- 라이브러리에 데모용 앱 넣을꺼니?

- 어떤 테스팅 프레임워크 사용할꺼니?

 

답변을 마치면 설정한 경로에 프로젝트가 생성됩니다.

 

 

2. Pods Spec 설정

프로젝트가 생성된 후에는 라이브러리의 스펙을 정의해주는 Pods파일을 설정해줍니다.

생성된 프로젝트 디렉토리에서 Example 디렉토리로 들어가서 해당 프로젝트의 .xcworkspace파일을 열어줍니다.

 

이후 Podspec Meta의 .podspec을 열어줍니다.

그 다음, 자신이 원하는 스펙대로 .podspec 파일을 작성해주면 됩니다.

s.summary, s.description은 반드시 작성해주어야 하며 나머지 부분도 원하는 대로 작성합니다.

* s.source에는 밑에서 만들 레포지토리의 주소를 입력하면 됩니다.

 

 

3. Git Repository 생성

라이브러리를 배포하기위해서는 해당라이브러리의 레포지토리가 필요합니다.

Repository name에 위에서 만든 프로젝트의 이름을 넣고 레포지토리를 생성합니다.

 

 

4. CocoaPods 라이브러리 구현

이제 라이브러이에 대한 설정은 모두 완료되었고, 실제로 코코아팟 라이브러리를 작성하면 됩니다.

먼저,  Pods프로젝트 > Development Pods > [프로젝트명] > ReplaceMe.swift 파일을 열어줍니다.

그 후 라이브러리를 위한 코드를 작성해주고 파일명을 원하는 대로 바꿔줍니다.

이때, 클래스 혹은 함수는 public 혹은 open 접근 연산자를 사용하여 만들어줘야 합니다.

 

 

5. 라이브러리 테스트

위에서 만든 라이브러리를 테스트해보기 위해 

터미널을 열고 프로젝트의 Example 폴더로 이동해서 아래의 명령어를 입력 후 엔터를 처줍니다.

$ pod install

이제, 라이브러리를 사용하기 위한 준비가 모두 끝났습니다.

프로젝트의 Example 폴더에서 .xcworkspace 파일을 열고 만들어놓은 함수를 테스트 합니다.

다음과 같이 정상적으로 라이브러리의 함수가 사용된 것을 확인할 수 있습니다.

 

 

6. Git Repository 푸쉬

배포를 하기위해 지금까지 작성한 라이브러리의 내용들을 git 저장소에 푸쉬해줘야 합니다.

터미널을 열고 프로젝트 경로로 이동해줍니다.

그 후 다음과 같이 입력해줍니다.

$ git add .
$ git commit -m "commit message"
$ git remote add origin //첫 push일 경우 뒤에 git 레포지토리 경로를 추가해주어야 합니다
//ex) $ git remote add origin https://github.com/#####/bongcandoLibrary.git] 
//이후 터미널에서 물어보는 대로username, password를 입력해줍니다.

$ git push origin master

//태그 생성
$ git tag 0.1.0 //*반드시 .podspec파일의 version과 맞춰줘야 합니다.
$ git push origin 0.1.0

이제 git 레포지토리로 접속해보면 정상적으로 push 된 것을 확인할 수 있습니다.

 

 

7. CocoaPods 배포

코코아팟 배포 전, .podspec파일의 유효성을 검사하기 위해 터미널에서 프로젝트 경로로 이동해줍니다.

그 후 터미널에 다음과 같이 입력 후 엔터를 칩니다.

$ pod spec lint

그러면 터미널에 다음과 같이 유효성 검사를 통과했다는 메시지가 나옵니다.

이제 마지막으로 라이브러리를 업로드할 코코아팟 계정을 인증받아야 합니다.

터미널에서  다음과 같이 입력해줍니다.

$ pod trunk register [이메일주소] [업로드 할 계정명]

- 이메일 주소 : 인증 메일을 받을 이메일 주소를 입력해 줍니다.

- 업로드 할 계정명 : CocoaPods에 등록할 계정의 이름을 입력해줍니다. (본인이 원하는 닉네임으로 하시면 됩니다.)

 

이후 해당 이메일 주소로 인증 메일이 같다는 메시지가 나오고 이메일로 들어가서 인증을 해주게 되면

 

모든 준비가 완료됩니다!

 

이제 터미널에서 프로젝트 폴더로 이동 후

$ pod trunk push [프로젝트명].podspec

을 입력해주면

터미널에 라이브러리가 등록됬다는 축하 메시지가 나오게 됩니다.

 

이제 다른 프로젝트에서 업로드한 라이브러리를 사용할 수 있습니다.

320x100