Public
Cocoapod 으로 소스 공개(Public)용으로 프레임워크 배포#
PodSpec 파일 생성 및 편집하기#
spec 파일만 따로 만드는 방법이 있다. 사실 이 파일만 있다면 배포가 가능하다.
$ pod spec create pod_name
.podspec 이 로컬에 생성 될 것이다.
Pod::Spec.new do |s|
s.name = "git-public-pod-public"
s.version = "0.1.5"
s.summary = "The SDK for iOS Swift provides a modern way of implementing APIs."
s.description = <<-DESC
Developed in Swift, the SDK for iOS Swift provides a modern way of implementing
LINE APIs. The features included in this SDK will help you develop an iOS app with
engaging and personalized user experience.
DESC
s.homepage = "https://github.com/james-chun-dev/git-public-pod-public"
s.license = "Apache License, Version 2.0"
s.author = "James"
s.platform = :ios, "13.0"
s.module_name = "SDK1"
s.source = { :git => "https://github.com/james-chun-dev/git-public-pod-public.git", :tag => "#{s.version}" }
s.source_files = 'SDK1/SDK1/SDK1.h'
end
더 많은 정보를 원한다면 cocoapods 공식사이트 문서 참고.
- name: pod spec 명령어로 만든 pod_name.
- platform: Podfile 상단에 있는 ios 버전 허용범위.
- source_files: sdk내에 포함될 소스 및 리소스. (번들)
- homepage: 공개된 페이지주소.
- author: 작성자이름. (특별히 중요하진 않아보임)
- module_name: framework 생성시 이름.
- source: git 저장소 주소.
- source_files: 공개할 소스파일.
만약 문제가 있더라도 편집된 .podspec 파일이 유효한지 체크해주는 명령어가 있다.
$ pod spec lint
$ pod spec lint --verbose specfilename.podspec //가급적이면 이렇게 쓰는게 좋다.(로그출력용)
Git Repo 만들고 Tag 걸고 배포하기#
위에 pod spec lint
에 성공하려면 git repo 주소가 존재해야하고 tag가 걸려있어야 한다.
git 사용법에 대해서는 생략하겠다.
tag 버전과 sdk 버전이 일치해야 한다.( podspec 파일내 version)
CocoaPods 에 배포하기#
pod trunk 에 등록하는 세션요청 명령어. 재배포시에는 안해줘도 된다.
$ pod trunk register chc3484@gmail.com jamesChun
이렇게 이메일주소와 이름을 입력후 명령어를 실행하면 이메일주소로 확인메일이 발송된다.
링크를 클릭해주면 완료되고 다음 명령어로 업로드를 진행하면 된다.
$ pod trunk push pod_name.podspec
업로드 성공하면 이런 로그가 나온다.
Example Repository#
- https://github.com/james-chun-dev/git-public-pod-public
- https://cocoapods.org/pods/git-public-pod-public
프레임워크 Cocoapods 재배포시#
podspec 파일 유효성 검사
$ pod spec lint --verbose specfilename.podspec
trunk 에 등록된 세션정보 확인후 push.
$ pod trunk me
$ pod trunk push
Podfile 사용법#
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '14.3'
workspace 'frameworkProj'
project 'frameworkTEST/frameworkTEST.xcodeproj'
project 'frameworkTESTAPP/frameworkTESTAPP.xcodeproj'
target 'frameworkTEST' do
project 'frameworkTEST/frameworkTEST.xcodeproj'
pod 'AFNetworking', '~> 3.0'
pod 'PopupDialog', '~> 1.1'
end
target 'frameworkTESTAPP' do
project 'frameworkTESTAPP/frameworkTESTAPP.xcodeproj'
pod 'MBProgressHUD', '~> 1.2.0'
pod 'git-public-pod-public', '~> 0.1'
end
공개용 프레임워크는 사용법이 워낙 잘 알려져 있기때문에 코멘트를 하지 않겠다.