一、前言
這兩天被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 = "ZGRSAEncryptor" s.version = "1.0.0" s.summary = "A Library for iOS to use for RSA encryptor." s.homepage = "https://github.com/ScottZg/ZGRSAEncryptor" s.license = "MIT" s.author = { "scottzg" => "[email protected]" } s.source = { :git => "https://github.com/ScottZg/ZGRSAEncryptor.git", :tag => "#{s.version}" } s.source_files = "ZGRSAEncryptor/*.{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/