發(fā)布自己的工具代碼/框架到CocoaPods

  • 寫(xiě)在前面

可能你經(jīng)常會(huì)寫(xiě)一些自用的小工具或者框架。但是,每次新建工程都要拷貝這些東西,實(shí)在會(huì)很神煩。既然有依賴(lài)庫(kù)的管理工具,那么自然要好好使用才是。

鑒于由本地鏈接github遠(yuǎn)端倉(cāng)庫(kù)并上傳代碼略繁瑣,在此舉一個(gè)簡(jiǎn)單點(diǎn)的例子,供參考。


  • 前提條件

github 賬號(hào) (沒(méi)有賬號(hào)的先去自己申請(qǐng)一下)
梯子 (實(shí)在不知道怎么弄梯子的,去github搜官方的Lantern下載下來(lái)用)
iTerm (好用的終端)

  • 在github上新建一個(gè)庫(kù)

一定要注意 .gitignorelicense 的選擇。不懂的,按照?qǐng)D中的選擇來(lái)即可。點(diǎn)擊 Create repository 即可完成創(chuàng)建。
創(chuàng)建github倉(cāng)庫(kù).png
然后,創(chuàng)建一個(gè) README 文件。(此文件是為了后續(xù)寫(xiě)一些使用、介紹之類(lèi)的具體文檔)

  • 打開(kāi) iTerm 或者 Mac自帶終端 將代碼克隆到本地

cd Desktop
git clone 你的github倉(cāng)庫(kù)地址
clone github倉(cāng)庫(kù)代碼到本地.png

  • 使用 trunk 新建 pod

1.注冊(cè) trunk

trunk 需要 CocoaPods 0.33 版本以上,用 pod --version 命令查看版本,如果版本低,需要升級(jí):

// Pod 版本檢查
pod --version
// 版本升級(jí)
sudo gem install cocoapods --pre -n /usr/local/bin cocoapods
// trunk注冊(cè)
pod trunk register xxxx.shaxxxnxxxx@xxxx.com 'Shaxxxon XXxxx' --description='shaxxxnxxxxx macbook pro' --verbose

加上 --verbose 可以輸出詳細(xì) debug 信息,方便出錯(cuò)時(shí)查看。

trunk注冊(cè).png

2. 驗(yàn)證并查看信息

注冊(cè)后 CocoaPods 會(huì)給你的郵箱發(fā)送驗(yàn)證鏈接,點(diǎn)擊后就注冊(cè)成功了,可以用pod trunk me命令查看自己的注冊(cè)信息。

查看信息.png

3. 創(chuàng)建 Podspec 描述文件
// 首先,轉(zhuǎn)到項(xiàng)目?jī)?nèi)
cd 你的項(xiàng)目文件直接拖過(guò)來(lái)
// 初始化.podspec文件
pod spec create 你的項(xiàng)目名(不加后綴)

4. 編輯 Podspec 描述文件
編輯 podspec文件.png
// 創(chuàng)建pod索引庫(kù),固定寫(xiě)法,并且定義索引庫(kù)的名字為s,后續(xù)通過(guò)s,就能拿到索引庫(kù)
Pod::Spec.new do |s|
    
// 設(shè)置名稱(chēng)
s.name         = "HttpManager"
    
// 設(shè)置版本號(hào)
s.version      = "0.0.1"
    
// 設(shè)置摘要
s.summary      = "A short description of HttpManager."
    
// 設(shè)置詳情
s.description  = "Good"
    
// 設(shè)置倉(cāng)庫(kù)主頁(yè)
s.homepage     = "http://EXAMPLE/HttpManager"
    
// 設(shè)置許可證
s.license      = "MIT"
    
// 設(shè)置作者
s.author             = { "iThinkerYZ" => "690423479@qq.com" }
    
// 設(shè)置倉(cāng)庫(kù)源,表示在哪可以找到組件工程
s.source       = { :git => "", :tag => "#{s.version}" }
    
// 設(shè)置 源文件路徑 => 不是整個(gè)工程的文件,而是自己封裝的代碼,以后別的工程引入,就會(huì)引入這里的代碼。
s.source_files  = "HttpManager/Classes/**/*.{h,m}"
    
// s.dependency = '' 組件工程依賴(lài)哪些第三方框架
// s.frameworks = 'UIKit', 'MapKit' 組件工程依賴(lài)哪些原生框架
// s.resource_bundles = {} 組件工程圖片資源
     
end

5. push代碼到github

在驗(yàn)證和上傳你的 podspec 文件到 trunk 之前,需要將你的源碼 pushGithub 上,tag 一個(gè)版本號(hào)并發(fā)布一個(gè) release 版本,這樣 podspec 文件中的 s.source 的值才能是準(zhǔn)確的:

git add -A && git commit -m "Release 0.0.1."
git tag '0.0.1'
git push --tags
git push origin master

6.驗(yàn)證

對(duì)于編輯完的 podspec 文件,需要驗(yàn)證一下這個(gè)文件是否可用,如果有任何 WARNING 或者 ERROR 都是不可以的,它就不能被添加到 Spec Repo 中,不過(guò) XcodeWARNING 是可以存在的,驗(yàn)證需要執(zhí)行命令:

pod spec lint 你的podspec文件名.podspec
// 或者 pod lib lint 命令來(lái)驗(yàn)證

通過(guò)的話(huà)就驗(yàn)證成功,失敗會(huì)告訴你錯(cuò)誤的位置,一般很詳細(xì)

驗(yàn)證成功

驗(yàn)證成功.png

驗(yàn)證失敗

驗(yàn)證失敗.png

此處失敗的解決方案:

// 你可以將你的Xcode拖進(jìn)終端內(nèi),看其路徑
sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer

7. 上傳
// 命令
pod trunk push

上傳失敗

上傳失敗.png

上傳失敗解決方案 :繼續(xù)上傳(上傳失敗是網(wǎng)絡(luò)不穩(wěn)、不好的緣故)

上傳成功

上傳成功.png


8. 查詢(xún)自己的 pod

簡(jiǎn)單點(diǎn),可以在 CocoaPods官網(wǎng) 自己查詢(xún)。
命令行查詢(xún),首先要更新自己的本地 pod 庫(kù)

// 更新本地 pod 庫(kù)
pod repo update
更新成功.png
查詢(xún)成功.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀(guān)點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。