woong's
Xcode IOS CocoaPods 배포하기[1] 본문
Xcode IOS CocoaPods 배포하기[1]
android 개발 당시 라이브러리를 넥서스 서버에 올려 놓고 gradle 을 통해서 가져와서 사용했었다.
xcode 에서는 gradle의 역할을 해주는 cocoaPods 를 통해서 라이브러리를 가져올수 있다.
그럼 xcode 에서는 내가 만든 라이브러리를 배포하고 cocoaPods 를 통해서 가져올수 있는 방법이 있는지
의문이 들어 이포스트를 시작하게 되었습니다.
검색을 통해 찾아보니 cocoaPods 에 프로젝트를 배포해서 사용할수 있게 되어 있다.
1. public 배포
- 많은 사람들이 유용하게 사용할수 있도록 공개를 통해서 배포
2. private 배포
- 남들에게 공유되기 꺼려지는 프로젝트 배포
위와 같이 두가지 방법이 있으며 두가지 방법에 대해 정리해보려 합니다.
첫번째 포스트에서는 public 배포에 대해 설명하겠습니다.
포스트는 cocoaPods install 이 되어있는 가정하에 작성 합니다.
참고 사이트
1. 동작과정
- Xcode 라이브러리 프로젝트를 구성
- 설정 파일 수정 작업 진행
- 라이브러리 작성
- git 프로젝트 업로드
- git 프로젝트 cocoapods Trunk로 업로드
- 프로젝트에서 cocoaPods 로 라이브러리 프로젝트 Import
2. 설정
- Xcode 라이브러리 프로젝트를 구성
1 | pod lib create HzLib | cs |
터미널에 위와 같이 입력 하면 여러 질문을 통해 xcode cocoaPods library 프로젝트가 생성 됩니다.
생성이 완료 되면 프로젝트가 오픈됩니다. 여기서 설정 파일에 설정을 완료 한후에 git에 프로젝트를 업로드 합니다.
- 설정 파일 수정 작업 진행
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 32 33 34 35 36 37 38 39 40 41 42 43 44 | # # Be sure to run `pod lib lint HzLib.podspec' to ensure this is a # valid spec before submitting. # # Any lines starting with a # are optional, but their use is encouraged # To learn more about a Podspec see http://guides.cocoapods.org/syntax/podspec.html # Pod::Spec.new do |s| s.name = "HzLib" s.version = "0.1.0" s.summary = "Common HzLib" # This description is used to generate tags and improve search results. # * Think: What does it do? Why did you write it? What is the focus? # * Try to keep it short, snappy and to the point. # * Write the description between the DESC delimiters below. # * Finally, don't worry about the indent, CocoaPods strips it! s.description = "IOS Common Util HzLib" s.homepage = "https://github.com/dlsdnd345/HzLib" # s.screenshots = "www.example.com/screenshots_1", "www.example.com/screenshots_2" s.license = 'MIT' s.author = { "woong" => "dlsdnd345@mhand.net" } s.source = { :git => "https://github.com/dlsdnd345/HzLib.git", :tag => s.version.to_s } # s.social_media_url = 'https://twitter.com/<TWITTER_USERNAME>' s.platform = :ios, '7.0' s.requires_arc = true s.source_files = 'Pod/Classes/**/*' s.resource_bundles = { 'HzLib' => ['Pod/Assets/*.png'] } # s.public_header_files = 'Pod/Classes/**/*.h' # s.frameworks = 'UIKit', 'MapKit' # s.dependency 'AFNetworking', '~> 2.3' end | cs |
1 | pod lib lint | cs |
위와 같이 pass 가 되면 잘 작성하게 된것입니다.
- 라이브러리 작성
Pod < Classes 에 파일생성후 코드를 작성 하면 됩니다.
필자는 간단하게 로그 출력해보는 코드를 작성하였습니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | // // HzUtility.m // Pods // // Created by woong on 2016. 2. 12.. // // #import "HzUtility.h" @implementation HzUtility + (void) sayHello{ NSLog(@"Hello World"); } @end | cs |
- git 프로젝트 업로드
이제 잘 작성한 프로젝트를 git 에 push 해야 합니다.
git 으로 프로젝트로 업로드 할때 주의점은 Tag와 Spec에서 작성한 version 하고 맞아야 한다는것입니다.
- git 프로젝트 cocoapods Trunk로 업로드
이제 git 라이브러리 프로젝트를 모든사용자들이 사용할수 있도록 cocoaPods Trunk로 업로드 해야합니다.
프로젝트 루트 패스로 이동하여 아래 명령어를 입력합니다.
1 | pod trunk push [NAME.podspec] | cs |
위와 같이 잘올라 갔습니다. 위와 같이 업로드가 완료 되면 cocoaPods Trunk 에 들어가서 확인해보면
프로젝트가 올라간것을 확인 할수 있습니다. 이제 많은 사람들에게 유용한 코드를 배포할수 있게 된것입니다.
- 프로젝트에서 cocoaPods 로 라이브러리 프로젝트 Import
이제 준비가 완료된 라이브러리를 사용해야 합니다.
1 | pod 'HzLib' | cs |
초록색으로 설치가 된것을 볼수 있습니다.
'Develop > IOS' 카테고리의 다른 글
Xcode 단축키 사용하기 (0) | 2016.02.13 |
---|---|
Xcode IOS Url 사파리로 보여주기 (0) | 2016.02.13 |
IOS Xcode 다국어 지원 하기 (0) | 2016.02.13 |
Xcode 인터넷 사용시 권한 추가하기 (0) | 2016.02.13 |
IOS Xcode openUrl 한글 인코딩 하기 (0) | 2016.02.13 |