隨著項目的增大和項目的增多一些公用組件和庫就需要從主項目中拆出來,Cocoapods不光能夠使用第三方庫呐萨,也能夠通過創(chuàng)建podspec設置私有庫,只要將其放到外部不能訪問到的位置即可莽囤。具體操作如下:
在項目目錄下執(zhí)行
pod spec create podname
執(zhí)行后會生成podname.podspec文件谬擦,修改文件內容
使用時
pod ‘podname', :podspec => 'https://www.starming.com/pod/podname.podspec'
這個podspec文件可以pull request到CocoaPods官方的Specs里https://github.com/CocoaPods/Specs 作為第三方庫給其他人用,或者fork鏡像到本地服務器一份提交到里面做為團隊用朽缎。也可以只在本地用可以把這個文件提交到/.cocoapods/repo/master/Specs下面惨远,創(chuàng)建一個目錄將文件cp到里面,類似這樣的目錄結構/.cocoapods/repo/master/Specs/SMPagerTab/1.0/SMPagerTab.podspec
podspec文件內容
官方詳細說明文檔:http://guides.cocoapods.org/syntax/podspec.html
Pod::Spec.new do |s|
s.name = "SMPagerTab"
s.version = "0.0.1"
s.homepage = "https://github.com/ming1016/PagerTab"
s.license = "MIT"
s.author = { "ming1016" => "ming1016@foxmail.com" }
s.source = { :git => "https://github.com/ming1016/PagerTab.git" :tag => s.version.to_s }
s.source_files = 'SMPagerTab/SMPagerTabView/**/*.{h,m}'
s.dependency 'Masonry', '~> 0.6.2'
end
- s.description 詳細的描述饵沧,支持markdown
- s.source 是項目的地址锨络,不支持ssh地址,只支持http和https的狼牺,最好https
- s.source_files */表示目錄及其子目錄下所有文件羡儿,多個目錄用逗號分開
- s.dependency 依賴的其他的庫,多個需要寫多個s.dependency
更多的使用方法可以通過看看一些比較知名的開源庫的podspec是钥,比如說AFNetworking的掠归,可以學習到s.subspec的使用方法等。