公共pod流程
第一步
在github上創(chuàng)建一個(gè)項(xiàng)目例如:podDemo,把地址clone到本地,在本地的podDemo文件下新建一個(gè)iOS項(xiàng)目线欲,再把項(xiàng)目上傳到github
第二步
打開終端進(jìn)入項(xiàng)目地址,輸入pod spec create xxx
如圖1,本地生成一個(gè)xxx.podspec文件参萄,如圖2,這個(gè)文件是用來為CocoaPods配置信息
第三步
配置xxx.podspec文件
如圖3煎饼,是一些基本的信息(以下是部分的解釋)
name 是pod導(dǎo)入時(shí)候查詢的名稱讹挎,類似‘AFNetworking’
version 版本號(hào)
license 最好提供一個(gè)license文件,不然有些奇特的坑
source_files 開源的文件配置吆玖,這里取 項(xiàng)目名稱/Classes/所有文件
第四步
本地驗(yàn)證筒溃,輸入 pod lib lint
圖4表示驗(yàn)證通過了,否則會(huì)出現(xiàn)各種報(bào)錯(cuò)信息
第五步
網(wǎng)絡(luò)驗(yàn)證沾乘,輸入pod spec lint
如圖5怜奖,出現(xiàn)了一個(gè)錯(cuò)誤,讀不到LICENSE文件意鲸,在文件中前往到地址Library/Caches/CocoaPods/Pods/External 烦周,有類似 c2647c78b608c98aa2b54d4c64af29f9-05735 的文件夾下,找到自己的項(xiàng)目怎顾,復(fù)制一個(gè)LICENSE文件進(jìn)去(我在其他項(xiàng)目中copy了一個(gè)LICENSE文件)读慎,創(chuàng)建目錄結(jié)構(gòu),如圖6
然后在驗(yàn)證一次 槐雾,如圖7夭委,表示驗(yàn)證通過了
第六步
驗(yàn)證通過后可以打tag
git tag -m “desc” “0.0.1”
git push —tag
提交到CocoaPods需要一個(gè)CocoaPods的賬號(hào),在終端輸入 pod trunk register 郵箱 ‘昵稱’ --description=‘描述’募强,郵箱驗(yàn)證后就可以上傳自己的開源框架到CocoaPods了
第七步
上傳到CocoaPods株灸,輸入 pod trunk push xxx.podspec崇摄,等CocoaPods審核,幾秒或者幾分鐘就完成了
成功后搜索一下慌烧,pod search逐抑,找不到就pod setup 后在search一下
參考文檔
http://www.reibang.com/p/d7d1942dd3f1
http://www.cnblogs.com/wengzilin/p/4742530.html
私有pod流程
具體流程跟公共流程大致相同,只是從第6步開始屹蚊,上傳的位置是本地的服務(wù)器厕氨,需要一個(gè)本地的地址 ,如圖8
pod repo add KMLibssh://km_ios_lib_source@10.8.8.61:22/km_ios_lib_source.git
pod repo add 本地庫名 git地址
會(huì)在.cocoapods/repos 下生成一個(gè) 本地庫名
然后向這個(gè)庫里添加私有框架
pod repo push KMLib KMLibDemo.podspec
成功后如圖9
然后在服務(wù)器回生成版本的文件夾汹粤,更新到本地就OK了
開源庫在本地服務(wù)器的項(xiàng)目結(jié)構(gòu)命斧,圖10
配置時(shí),可以通過pod 'KMLibDemo', :git => 'ssh://km_ios_lib_source@10.8.8.61:22/km_ios_lib_source.git' 引入到項(xiàng)目中
本地引入測(cè)試時(shí)可以用
#pod 'KMLibDemo', :podspec => /Users/lyym/.cocoapods/repos/KMLib/KMLibDemo/0.0.1/KMLibDemo.podspec''
#pod 'KMLibDemo', :podspec => /Users/lyym/Desktop/km_ios_lib_source/KMLibDemo/0.0.1/KMLibDemo.podspec''
一般本地測(cè)試成功嘱兼,網(wǎng)絡(luò)就是可用的
坑點(diǎn)
xxx.podspec 文件在git下載后的一級(jí)目錄国葬,否則 pod install 時(shí)會(huì)報(bào)錯(cuò)
[!] An unexpected version directory `KMLibDemo` was encountered for the `/Users/lyym/.cocoapods/repos/KMLib/KMLibDemo` Pod in the `KMLibDemo` repository.
我使用網(wǎng)上提到的引用方式時(shí)是不成功的
source 'ssh://km_ios_lib_source@10.8.8.61:22/km_ios_lib_source.git'
pod 'KMLibDemo', '0.0.1'
提示
[!] An unexpected version directory `KMLibDemo` was encountered for the `/Users/lyym/.cocoapods/repos/KMLib/KMLibDemo` Pod in the `KMLibDemo` repository.
也不知道為何了
參考文檔
http://www.exiatian.com/cocoapods%E5%AE%89%E8%A3%85%E4%BD%BF%E7%94%A8%E5%8F%8A%E9%85%8D%E7%BD%AE%E7%A7%81%E6%9C%89%E5%BA%93/
http://www.cnblogs.com/xiaoshuailong/p/5149001.html
http://www.cocoachina.com/ios/20150228/11206.html