swift cocoapods
我們都知道iOS項(xiàng)目管理方式pod是一個(gè)很好用的工具,可以用來(lái)更新管理和更新第三方庫(kù)資源,下面介紹一下自己上傳pod庫(kù)的方法男韧,下面以FanRefresh為例氢哮。
1.項(xiàng)目準(zhǔn)備(FanRefresh)
- 完整的git項(xiàng)目,包含LICENSE,README.md诬烹,可以把git clone 或者本地項(xiàng)目上傳github上
- 記得swift項(xiàng)目里面要寫(xiě)好暴露的屬性和方法和類砸烦,必須使用public或open,不然別人pod下拉不能調(diào)用
public enum FanRefreshState:Int {
case Default=0
case Pulling=1
case Refreshing=2
case WillRefresh=3
case NoMoreData=4
}
public class FanRefreshComponent: UIView {}
public var scrollViewOriginalInset:UIEdgeInsets?
public extension UIScrollView {}
public let FanRefreshHeaderHeight:CGFloat=60.0
- 下面的所有命令行都是在項(xiàng)目根目錄(FanRefresh)下執(zhí)行(切記)
2.podspec文件制作及驗(yàn)證
1.創(chuàng)建podspec文件
pod spec create FanRefresh
//打開(kāi)文件編輯,或者用Sublime
vi FanRefresh.podspec
2. podspec文件內(nèi)容
Pod::Spec.new do |s|
s.name = "FanRefresh"
s.version = "0.0.3"
#主要標(biāo)題
s.summary = "a swift Refresh control"
#詳細(xì)描述(必須大于主要標(biāo)題的長(zhǎng)度)
s.description = <<-DESC
一個(gè)swift的下拉刷新绞吁,上拉加載庫(kù)幢痘,UITableview,UICollectionView,UIWebView
DESC
#倉(cāng)庫(kù)主頁(yè)
s.homepage = "https://github.com/fanxiangyang/FanRefresh"
s.license = "MIT"
s.author = { "fanxiangyang" => "fqsyfan@gmail.com" }
s.platform = :ios,'8.0'
#倉(cāng)庫(kù)地址(注意下tag號(hào))
s.source = { :git => "https://github.com/fanxiangyang/FanRefresh.git", :tag => "#{s.version}" }
#這里路徑必須正確家破,因?yàn)閟wift只有一個(gè)文件不需要s.public_header_files
#s.public_header_files = "Classes/*.h"
s.source_files = "Classes/*.swift"
s.framework = "UIKit","Foundation"
s.requires_arc = true
end
可以參考FanRefresh.podspec和FanKit.podspec子文件夾配置
3.驗(yàn)證FanRefresh.podspec文件正確性
pod lib lint
驗(yàn)證比較嚴(yán)格颜说,或用 pod spec lint
如果出現(xiàn)錯(cuò)誤按照錯(cuò)誤提示修改购岗,直到終端出現(xiàn)驗(yàn)證通過(guò)
fanxiangyang@fanFan FanRefresh$pod lib lint
-> FanRefresh (0.0.3)
FanRefresh passed validation.
fanxiangyang@fanFan FanRefresh$
3.提交代碼到git倉(cāng)庫(kù)
1.提交修改的代碼和配置到git
git add .
git commit -m "version 0.0.3"
git push origin master
2.打標(biāo)簽提交標(biāo)簽
git tag 0.0.3
git push --tags
3.其他標(biāo)簽命令(可選操作)
git tag //查看標(biāo)簽
git tag 0.0.3 //把當(dāng)前代碼狀態(tài)打上標(biāo)簽
git tag -d 0.0.3 //刪除本地標(biāo)簽
git push origin —delete tag 0.0.3 //刪除遠(yuǎn)程標(biāo)簽
4.上傳到cocoapods倉(cāng)庫(kù)
1.首次上傳pod,注冊(cè)trunk
pod trunk register fqsyfan@gmail.com 'fanxiangyang'
驗(yàn)證郵件連接通過(guò)后门粪,查看信息
2.查看本機(jī)tunk信息
pod trunk me
3.提交到spec
pod trunk push FanRefresh.podspec
4.驗(yàn)證是否成功
//如果有該庫(kù)的信息說(shuō)明喊积,說(shuō)明上傳成功
pod trunk info FanRefresh
pod search FanRefresh //pod 查詢庫(kù)
//如果查找不到,更新本地spec倉(cāng)庫(kù)
pod setup //或者下面的方法
pod repo update
//如果還是查不到:清空搜索緩存
rm ~/Library/Caches/CocoaPods/search_index.json
5.trunk其他操作(可選)
-
pod trunk delete FanRefresh 0.0.3
刪除遠(yuǎn)程提交的pod庫(kù) - Pull requests方式上傳的 舊庫(kù)認(rèn)領(lǐng)地址
-
$ pod trunk add-owner FanRefresh other@cocoapods.org
添加其他成為組件所有者
5.Like
- 有問(wèn)題請(qǐng)直接在文章下面留言
- Email:fqsyfan@gmail.com國(guó)內(nèi)玄妈,請(qǐng)注意
- github:https://github.com/fanxiangyang
- 歡迎查看我的pod庫(kù)FanRefresh(swift庫(kù))和FanKit(oc庫(kù)),喜歡就給個(gè)Star(小星星)吧乾吻!