轉載請注明原鏈接:http://www.lxweimin.com/p/950026d788bd
一、前言
這兩天被cocoapods折磨的心力憔悴。看cocoapods官網的添加支持,但是介紹的(ying)比(yu)較(tai)簡(cha)單,而且有的步驟也沒有寫上,導致看著官方文檔也沒有成功,后來查閱了簡書、CocoaChina等等,還是已經接近崩潰。沒有一個完整的介紹。索性多個文檔對比測試,最后終于成功的讓自己Github上的庫成功支持Cocoapods安裝。
二、開始
這里我將從最初的開始進行介紹,包括Github上創建項目已經上傳項目,到最后的支持Cocoapods。
步驟如下:
- 代碼上傳Github
- 創建podspec文件,并驗證是否通過
- 在Github上創建release版本
- 注冊CocoaPods賬號
- 上傳代碼到CocoaPods
- 檢查上傳是否成功
1 代碼上傳Github
首先我們打開github.com,然后創建自己的項目工程:
這里注意那個MIT License,在后面添加Cocoapods支持的時候會用到(稍后介紹)。然后點擊創建即可。
然后用SouceTree將代碼down到本地,將自己的項目放到里面,文件夾如圖所示:
這里的LICENSE就是剛才說的MIT License添加的文件。RSADemo是示例工程,ZGRSAEncryptor就是提供給他人使用的庫。(ZGEncrptor(For java).zip是后端的代碼)
然后提交到Github就可以了。
2創建podspec文件
我們使用終端到工程目錄下:
然后執行下面的命令:
pod spec create ZGRSAEncryptor
這里的ZGRSAEncryptor就是pod添加市的名字(例如MBProgressHUD)。執行完后的結果:
此時在工程文件夾下也會多一個ZGRSAEncryptor.podspec文件。這里我用Sublime Text打開并做了如下編輯:
Pod::Spec.new do |s|
s.name = "ZGInfoCollection"
s.version = "1.0.0"
s.summary = "A library for collection device info."
s.homepage = "https://github.com/ScottZg/ZGInfoCollection"
s.license = "MIT"
s.author = { "ScottZg" => "scottzg@126.com" }
s.source = { :git => "https://github.com/ScottZg/ZGInfoCollection.git", :tag => "#{s.version}" }
s.requires_arc = true
s.ios.deployment_target = "7.0"
s.source_files = "ZGInfoCollection/*.{h,m}"
end
name:類庫的名稱這里字段介紹如下:
version:庫的版本
summary就是介紹語,就是:
homtepage:Github上項目地址
license:許可證
author:作者
source:項目的https鏈接地址
source_files:要共享的代碼,這里是ZGRSAEncryptor下面的所有代碼。
接下來執行下面的命令進行驗證:
pod lib lint ZGRSAEncryptor.podspec
結果多種多樣,如果有錯,則按照提示進行改錯即可。在這里,我執行的結果如下圖:
發現了多個警告,只要不是錯誤就行,警告可以直接忽略(紅色也提示如何忽略):
pod lib lint ZGRSAEncryptor.podspec --allow-warnings
結果如下:
當看到ZGRSAEncryptor passed validation之后,就說明驗證通過了。
3 在Github上創建release版本
打開項目的目錄,然后創建release版本的類庫:
點擊 箭頭指向開始創建release版本,(點擊 Create a new release):
點擊Publish release即可。創建完成后如圖所示:
這樣第三步就完成了
4 注冊CocoaPods賬號
執行命令行:
pod trunk register 郵箱地址 ‘用戶名’ —description='描述信息'
執行完之后結果如下:
黃色提示已經發送了一個驗證碼到郵箱,你可以打開你的郵箱驗證即可。打開郵件中的鏈接后如下:
這樣就成功注冊了Cocoapods賬號。
可以用
pod trunk me
檢查是否創建成功。成功的結果如下:
5 上傳代碼到CocoaPods
首先檢測文件格式的有效性:
pod spec lint
結果如下:
沒有錯誤,但是有警告。可以使用 --allow-warnings忽略:
出現passed validation就說明通過驗證了。然后執行:
pod trunk push ZGRSAEncryptor.podspec --allow-warnings
執行結果如下:(速度應該有的慢)
說明了已經上傳成功。
6 檢查上傳是否成功
使用
pod search ZGRSAEncryptor
結果如下:
ok,已經成功了。這樣就可以讓其他人進行搜索使用了。
三、總結
百度、Google了多篇文檔,然后進行總結,終于實現了構建自己的Cocoapods庫。在后面我將會繼續學習怎么在本地進行構建、怎么在公司多人開發的時候進行構建私有庫開發。
四、參考文檔:
1、http://www.cocoachina.com/ios/20160415/15939.html
2、http://www.cocoachina.com/ios/20160907/17501.html
3、https://cocoapods.org/