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