1. 把待公開的項(xiàng)目上傳gitHub遠(yuǎn)程倉庫。
- 此處項(xiàng)目代碼提交git服務(wù)器過程略,詳情參考文章Git Shell命令。
注:代碼提交git成功后,打好我們的發(fā)布版本tag值,如:
0.0.1
2. 安裝CocoaPods。
- CocoaPods安裝步驟和使用請參考:CocoaPods安裝及使用
3. 創(chuàng)建和編寫.podspec文件。
- 創(chuàng)建
.podspec文件命令如下:$ pod spec create Name
注:
Name為創(chuàng)建的.podspec文件名字,一般取與工程文件相同的名字。
-
.podspec編寫創(chuàng)建的
Name.podspec文件打開可看到一個默認(rèn)的模版,我們可在默認(rèn)模版基礎(chǔ)上修改,也可參考gitHub上一些優(yōu)秀的第三方庫的.podspec文件,如:AFNetworking庫的AFNetworking.podspec文件,直接復(fù)制內(nèi)容然后按照自己的項(xiàng)目修改。
如本人公開的一個基于FMDB封裝的數(shù)據(jù)庫升級庫FMDBUpgrade的FMDBUpgrade.podspec文件內(nèi)容如下:
Pod::Spec.new do |s|
s.name = "FMDBUpgrade"
s.version = "1.0.1"
s.summary = "Upgrade database extension class based on FMDB."
s.homepage = "https://github.com/yangyongzheng/FMDBUpgrade"
s.license = "MIT"
s.author = { "yangyongzheng" => "youngyongzheng@qq.com" }
s.source = { :git => "https://github.com/yangyongzheng/FMDBUpgrade.git", :tag => "#{s.version}" }
s.requires_arc = true
s.platform = :ios, "8.0"
s.source_files = "UpgradeManager/FMDBUpgradeHeader.h"
s.public_header_files = "UpgradeManager/FMDBUpgradeHeader.h"
s.subspec "UpgradeManager" do |ss|
ss.source_files = "UpgradeManager"
ss.public_header_files = "UpgradeManager/*+Upgrade.h"
end
s.dependency "FMDB"
end
指定的源碼路徑以.podsepc文件所在文件夾開始推算,具體路徑以具體項(xiàng)目庫源碼路徑為準(zhǔn)。
4. podspec文件校驗(yàn)
校驗(yàn)分為本地校驗(yàn)和遠(yuǎn)程倉庫校驗(yàn),校驗(yàn)之前要先設(shè)置好版本相對應(yīng)的tag值。
- 本地校驗(yàn)命令如下:
# 本地校驗(yàn)命令
$ pod lib lint
# 拼接了其他參數(shù)的本地校驗(yàn)命令
$ pod lib lint --allow-warnings --use-libraries --verbose
注:根據(jù)校驗(yàn)錯誤提示,自己按需求在
$ pod lib lint后面拼接--allow-warnings、--use-libraries、—verbose等選項(xiàng)。
- 具體使用可運(yùn)行
$ pod lib lint --help查看。

- 校驗(yàn)成功如下圖所示:

DatabaseManager passed validation.表示通過校驗(yàn)。其中有一個警告- WARN | url: There was a problem validating the URL http://twitter.com/yangyongzheng.,因?yàn)樾r?yàn)時我允許有警告所以可校驗(yàn)通過(pod lib lint命令默認(rèn)是不允許有警告的)。
- 遠(yuǎn)程倉庫源碼校驗(yàn)
# 遠(yuǎn)程倉庫校驗(yàn)
$ pod spec lint
# 允許有警告、使用靜態(tài)庫,打印校驗(yàn)日志命令
$ pod spec lint --allow-warnings --use-libraries --verbose
- 校驗(yàn)拼接選項(xiàng)根本地校驗(yàn)一樣,按自己需求拼接在
$ pod spec lint后面。
- 校驗(yàn)成功時如下圖所示:

5. 提交到官方檢索庫
上面第4步.podspec文件校驗(yàn)成功后,就可提交到官方檢索庫了。
- 提交之前先注冊提交賬號,命令如下:
$ pod trunk register email@example.com 'Your Name' --description='Personal Laptop'
注冊成功后,注冊的郵箱會收到一份郵件,進(jìn)入郵箱點(diǎn)擊下郵件中的驗(yàn)證地址驗(yàn)證下就注冊成功了,接下來就可以提交了...
- 注冊成功后提交的命令如下:
# If `PATH` is not provided, defaults to the current directory.
$ pod trunk push [PATH]
# 拼接選項(xiàng)和第4步校驗(yàn)拼接的選項(xiàng)要一致
$ pod trunk push --allow-warnings --use-libraries --verbose
注意:
$ pod trunk push后面拼接的選項(xiàng)要和第4步$ pod spec lint校驗(yàn)拼接的選項(xiàng)一致。
6. 開始使用
上敘第5步提交成功后,就可以開始在項(xiàng)目中使用我們公開的庫了。
- 首先我們需要更新本地索引庫:
pod setup
setup完成后,執(zhí)行
pod search FMDBUpgrade。-
如果搜索不到結(jié)果,刪除search_index.json文件
-
pod setup成功后會生成~/Library/Caches/CocoaPods/search_index.json文件。 - 終端輸入
rm ~/Library/Caches/CocoaPods/search_index.json刪除檢索文件。 - 刪除成功后再執(zhí)行
pod search FMDBUpgrade就可以找到了。
-
在項(xiàng)目的Podfile文件中加上:
pod 'FMDBUpgrade',運(yùn)行pod install --verbose --no-repo-update,至此大功告成。
7.更新維護(hù)
更新代碼后,更新tag和podspec描述文件中版本,重新走一遍步驟4、5、6即可使用啦。