組件化開發(fā)已經(jīng)熱火朝天汗销,已經(jīng)咸魚很長時間,再不做點什么就真的要被淘汰了。在查閱眾多學(xué)習(xí)資料后發(fā)現(xiàn)最簡單也是最基本的就是管理模塊化后的代碼蜈敢,代碼管理上我們ios開發(fā)當(dāng)然是用CocoaPods最多啦雕凹。二話不說殴俱,一頓百度之后就開始操作了政冻。這里我將自己項目中用的比較多的Swift的extension上傳至CocoaPods。
1.創(chuàng)建一個git倉庫
創(chuàng)建倉庫
創(chuàng)建倉庫
注意這里選擇開源協(xié)議選擇MIT License线欲,后面pods配置文件會用到明场,至于為什么選擇這個目前還不太了解。其他就是創(chuàng)建git倉庫的常規(guī)操作李丰。然后clone到本地苦锨。
2.將代碼上傳至git
git add .
git commit -m 'first commit'
git tag '1.0.0' #創(chuàng)建tag 后面配置pods時會用到
git push --tags
git push origin master
3.創(chuàng)建.podspec
pod spec create DVExtension
然后編輯你的podspec文件,下面是我的podspec文件
Pod::Spec.new do |s|
s.name = "DVExtension" #存儲庫名稱
s.version = "1.0.0" #版本號,與tag值一致
s.summary = "Swift Extension" #簡介
s.description = "一個自用的Swift Extension" #描述
s.homepage = "https://github.com/CreatFish/DVExtension" #項目主頁趴泌,不是git地址
s.license = { :type => "MIT", :file => "LICENSE" } #開源協(xié)議
s.author = { "GreatFish" => "654070281@qq.com" } #作者
s.platform = :ios, "8.0" #支持的平臺和版本號
s.source = { :git => "https://github.com/CreatFish/DVExtension.git", :tag => "1.0.0" } #存儲庫的git地址舟舒,以及tag值
s.source_files = "DVExtension/*.swift"
s.requires_arc = true #是否支持ARC
s.swift_version = "4.2"#使用的swift版本
end
編輯完成之后使用如下指令來驗證。
pod lib lint
有可能會碰到一些錯誤嗜憔,根據(jù)提示一個一個修改至出現(xiàn)如下圖紅框所示便是驗證成功了秃励。加上 --allow-warnings可以忽略掉一些警告。驗證成功
4.創(chuàng)建Trunk賬號并發(fā)布
# 注冊Cocoapods賬號(會接收到一封郵件吉捶,驗證即可)
pod trunk register 654070281@qq.com "David Yu"
# 查看自己的賬號
pod trunk me
# 發(fā)布你的pod
pod trunk push DVExtension.podspec
出現(xiàn)如下圖所示就是發(fā)布成功了夺鲜。發(fā)布成功
因為我不是創(chuàng)建的一個工程,所有沒有info.plist文件帚稠,所以需要加上--allow-warnings參數(shù)谣旁,否則會出現(xiàn)如下警告導(dǎo)致發(fā)布失敗。
warning: Skipping code signing because the target does not have an Info.plist file. (in target 'App')
發(fā)布成功之后滋早,使用如下指令可以查找到你發(fā)布的pod榄审,然后就可以愉快的使用啦。
pod search DVExtension --simple
小結(jié)
總體上來講沒什么難度杆麸,pod驗證和發(fā)布的時候會碰到一些錯誤搁进,一個一個根據(jù)提示去修改就行,如有錯誤的地方歡迎大神們在評論下面指出昔头。