cocoapods原理
Gem是一個管理Ruby庫和程序的標準包,它通過Ruby Gem(如 http://rubygems.org/ )源來查找、安裝、升級和卸載軟件包,非常的便捷。
可以通過 pod --versionn
查看pod版本號
可以通過ruby -v
查看ruby版本號
可以通過gem -v
查看gem版本號
pod基本操作
- 查看第三方框架倉庫源
pod repo
- 移除倉庫源
pod repo remove master
- 添加倉庫源
pod repo add master http://git.oschina.net/akuandev/Specs.git
- 初始化(下載服務器中所有第三方框架信息, 緩存到電腦本地)
pod setup
pod search
框架關鍵字—從本地緩存的"第三方框架描述信息" 生成的檢索文件中檢索到 相關框架的信息- 刪除cocoapods索引文件
rm ~/Library/Caches/CocoaPods/search_index.json
- 創建 Podfile 文件, 到自己工程內(一級目錄)
- Podfile 文件作用?
答: 其實就是使用ruby語法編寫的 “框架依賴描述文件”; 就是告訴cocoapods需要下載集成哪些框架 - 創建命令
pod init
- Podfile 文件作用?
- 安裝框架
pod install
cocoapods原理圖:
sepcs
遠程索引庫
`pod setup``
其實就是下載遠程索引庫到本地索引庫
如果我們pod install
之後,那麼下載三方到項目。
當我們另一個項目再次用到這些源碼,然後install之後,會很快,因爲本地已經備份了一份了
當我們第一次pod search
會很慢,因爲它再下載下來,然後放到緩存當中,所以下次再執行該操作的話會快好多。下圖是緩存路徑
創建遠程庫,並製作PodSpec通過trunk推送podspec文件
-
第一步,上傳項目到github, 並且打好標籤
- 具體操作可以看我的第一篇組件化文章git基本使用
git push origin master
git tag '1.0.0'
git push --tags
-
第二步,註冊trunk
pod trunk register 157******[email protected] 'wanggang' --verbose
–verbose參數是爲了便於輸出註冊過程中的調試信息- 註冊完以後郵箱會收到郵件,要進去進行校驗。
-
第三步,配置並上傳框架的 PodSpec 文件
-
原理
- PodSpec 文件 描述自己的框架信息:作者,版本, 下載地址等等
- pod search 搜索框架, 就是根據這裏面的信息進行檢索的
- 注意: 一般這個文件的名稱和工程名稱保持一致
- 創建命令:
pod spec create 文件名稱
- 具體我個人操作:
$ cd /Users/liuxitong/Desktop/testLib
$ pod spec create testLib
這樣就創建好了,如圖所示:
-
PodSpec文件格式
- 可以下載被cocoapods管理的框架裏面的描述信息, 也可以到官網查看官網鏈接
- pod spec lint podspec文件
- 如果校驗失敗,那麼就發現哪裏有問題就修改podspec對應的地方。
- 某些podspec中的字段解釋:
spec.source_files:到地址取得哪些標籤文件 通配符表示的是目錄,即classes文件夾裏的目錄
spec.source_files = “Classes”, "Classes//*.{h,m}"
-
通過trunk推送podspec文件
pod trunk push
- 我這裏具體操作
pod trunk push testLib.podspec
這樣我們就將PodSpec上傳成功了,然後我們在cocoapod裏面也可以加入我們這個新的第三方庫了。 - 這種方式其實就是上傳這個描述文件到cocoapods在github上的倉庫中,倉庫地址
- 然後還需要等待審覈,跟pull request一樣, 需要作者同意
-
-
第四步, 更新本地pod 第三方框架信息數據源
pod setup
-
第五步,使用pod search 命令搜索自己的框架, 如果可以搜索到, 那麼代表審覈通過了