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 공식사이트 문서 참고.
만약 문제가 있더라도 편집된 .podspec 파일이 유효한지 체크해주는 명령어가 있다.
$ pod spec lint
$ pod spec lint --verbose specfilename.podspec //가급적이면 이렇게 쓰는게 좋다.(로그출력용)
위에 pod spec lint
에 성공하려면 git repo 주소가 존재해야하고 tag가 걸려있어야 한다.
git 사용법에 대해서는 생략하겠다.
tag 버전과 sdk 버전이 일치해야 한다.( podspec 파일내 version)
pod trunk 에 등록하는 세션요청 명령어. 재배포시에는 안해줘도 된다.
$ pod trunk register chc3484@gmail.com jamesChun
이렇게 이메일주소와 이름을 입력후 명령어를 실행하면 이메일주소로 확인메일이 발송된다.
링크를 클릭해주면 완료되고 다음 명령어로 업로드를 진행하면 된다.
$ pod trunk push pod_name.podspec
업로드 성공하면 이런 로그가 나온다.
podspec 파일 유효성 검사
$ pod spec lint --verbose specfilename.podspec
trunk 에 등록된 세션정보 확인후 push.
$ pod trunk me
$ pod trunk push
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
공개용 프레임워크는 사용법이 워낙 잘 알려져 있기때문에 코멘트를 하지 않겠다.