iOS組件化之 一. 打造遠程私有庫(準備工作)

iOS組件化之 一. 打造遠程私有庫(準備工作)

前提

1. cocoapods相關操作
1. 查看第三方框架倉庫源 : pod repo
2. 移除倉庫源 : pod repo remove master
3. 添加倉庫源 : pod repo add master http://git.oschina.net/akuandev/Specs.git
4. 初始化(下載服務器中所有第三方框架信息, 緩存到電腦本地) : pod setup
2.cocoapods 重要路徑
1. 索引緩存路徑 :  ~/Library/Caches/CocoaPods/
2. pod命令安裝路徑 : /usr/local/bin
3. pod 框架索引信息緩存路徑: /Users/apple/.cocoapods/repos/master

一. 打造遠程私有庫

1. 私有Spec Repo創建
1.  利用公司部署的gitlab(git.mistong.com)做 git倉庫, 或者github, coding等等
    新建私有倉庫EWTPodspec, 同時添加.gitignore,  同時在其中添加.DS_Store, 每次上傳忽略掉Mac自帶的.DS_Store, 以避免引起沖突...
    
2. 把EWTPodspec當做索引庫, 首先查看本地索引庫 命令: pod repo 如圖下圖(查看本地索引庫)
   有兩個cocoapods 和 master 均是 pod 官方的索引庫, 像AFN等開源庫就是用的官方索引庫,任何人都可以搜索到并下載.
   
   所以要建立自己的索引庫. 
   建立連接 命令:  pod repo add EWTPodspec http://git.mistong.com/zhaoweizheng/EWTPodspec.git  如下圖(建立連接)

==查看本地索引庫==

image

==建立連接==

image

至此, Spec Repo 創建完成

2. 創建pod私有庫

以OC為開發語言, 把常用分類工具類的擴展做成一個私有庫, 當然項目中要把獨立模塊做成私有庫, 下一篇文章再詳細介紹組件化的概念, 以及項目的拆分.

1. ?  ~ cd /Users/zwz/Desktop/mistong/EWTPodspec 在EWTPodspec目錄下做本地庫,比如擴展, 基類, 網絡等等私有庫, 
   并在gitLab上建立相應的私有庫, 通pod 命令把這些私有庫push到EWTPodspec索引庫內, 這樣就可以pod到相應的私有庫.
    
  首先, 在到EWTPodspec目錄下創建私有庫模板 命令: pod lib create EWTBases  (圖: 模板庫)
  

==模板庫==

image
2. 在模板項目目錄Development Pods/EWTBases/EWTBases/Classes添加你的私有庫, 此處我添加Category 和 Tool (圖: 目錄)

==目錄==

image
3. 命令行切換到 Example 的目錄下 cd /Users/zwz/Desktop/mistong/EWTPodspec/EWTBases/Example/ 
   執行 pod update 把私有庫先添加到模板項目中. 并測試這些私有庫沒問題.

4. 在gitLab上創建私有庫EWTBases, 配置.posdspec文件(圖: posdspec),  并把模板上傳到EWTBases,同時設置EWTBases的版本號, 與配置文件中的版本號一致(圖: 上傳)
如果是選擇的Swift版本 需要在根目錄下執行 : $ echo "3.0" > .swift-version  添加Swift的版本號

==圖: posdspec==

image

==圖: 上傳==

image

image
5. 校驗私有庫是否正確: pod lib lint --allow-warnings (圖: lib) 把私有庫路徑上傳到索引庫:  pod repo push EWTPodspec EWTBases.podspec (圖: 上傳索引庫), 同時在本地   /用戶/zwz/.cocoapods 目錄下有EWTBases私有庫的版本 (圖: 路徑)

==圖: lib==

image

==圖: 上傳索引庫==

image

==圖: 路徑==

image
6. pod search EWTBases (圖: ewtbases)
   如過search 不到, 先執行 rm ~/Library/Caches/CocoaPods/search_index.json 之后再 pod search EWTBases 

==圖: ewtbases==

image

二. 使用遠程私有庫

新建項目EWTDemo, 在EWTDemo目錄下初始化pod:pod init

編寫 Podfile文件, (圖: podfile) 保存, 執行命令: pod install

==圖: podfile==

image

使用 EWTBases

image

三. 創建子庫

項目中可以創建多個私有庫, 但是當文件較少, 且職責相同的情況下都會放到相同的私有庫中, 比如上面的創建的EWTBases, 但是當我們使用的時候, 就需要把EWTBases中所有的文件都下載下來, 其中有些我們用不到, 比如: 我們就想僅僅使用EWTBases中的 Tool. 此時就要用到子庫這個概念了...

如下圖, 重新編寫.podspec文件:

image

保存, 按照上面的步驟上傳到索引庫, 然后pod search 查看一下,如圖會多出兩個子庫.. 在使用的時候直接在podfile 加入: pod EWTBases/Tool (0.1.3)就可以了

image
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容