iOS組件化之 一. 打造遠(yuǎn)程私有庫(準(zhǔn)備工作)
前提
1. cocoapods相關(guān)操作
1. 查看第三方框架倉庫源 : pod repo
2. 移除倉庫源 : pod repo remove master
3. 添加倉庫源 : pod repo add master http://git.oschina.net/akuandev/Specs.git
4. 初始化(下載服務(wù)器中所有第三方框架信息, 緩存到電腦本地) : pod setup
2.cocoapods 重要路徑
1. 索引緩存路徑 : ~/Library/Caches/CocoaPods/
2. pod命令安裝路徑 : /usr/local/bin
3. pod 框架索引信息緩存路徑: /Users/apple/.cocoapods/repos/master
一. 打造遠(yuǎn)程私有庫
1. 私有
Spec Repo
創(chuàng)建
1. 利用公司部署的gitlab(git.mistong.com)做 git倉庫, 或者github, coding等等
新建私有倉庫EWTPodspec, 同時(shí)添加.gitignore, 同時(shí)在其中添加.DS_Store, 每次上傳忽略掉Mac自帶的.DS_Store, 以避免引起沖突...
2. 把EWTPodspec當(dāng)做索引庫, 首先查看本地索引庫 命令: pod repo 如圖下圖(查看本地索引庫)
有兩個(gè)cocoapods 和 master 均是 pod 官方的索引庫, 像AFN等開源庫就是用的官方索引庫,任何人都可以搜索到并下載.
所以要建立自己的索引庫.
建立連接 命令: pod repo add EWTPodspec http://git.mistong.com/zhaoweizheng/EWTPodspec.git 如下圖(建立連接)
==查看本地索引庫
==
==建立連接
==
至此, Spec Repo
創(chuàng)建完成
2. 創(chuàng)建
pod
私有庫
以O(shè)C為開發(fā)語言, 把常用分類
和工具類
的擴(kuò)展做成一個(gè)私有庫, 當(dāng)然項(xiàng)目中要把獨(dú)立模塊做成私有庫, 下一篇文章再詳細(xì)介紹組件化的概念, 以及項(xiàng)目的拆分.
1. ? ~ cd /Users/zwz/Desktop/mistong/EWTPodspec 在EWTPodspec目錄下做本地庫,比如擴(kuò)展, 基類, 網(wǎng)絡(luò)等等私有庫,
并在gitLab上建立相應(yīng)的私有庫, 通pod 命令把這些私有庫push到EWTPodspec索引庫內(nèi), 這樣就可以pod到相應(yīng)的私有庫.
首先, 在到EWTPodspec目錄下創(chuàng)建私有庫模板 命令: pod lib create EWTBases (圖: 模板庫)
==模板庫
==
2. 在模板項(xiàng)目目錄Development Pods/EWTBases/EWTBases/Classes添加你的私有庫, 此處我添加Category 和 Tool (圖: 目錄)
==目錄
==
3. 命令行切換到 Example 的目錄下 cd /Users/zwz/Desktop/mistong/EWTPodspec/EWTBases/Example/
執(zhí)行 pod update 把私有庫先添加到模板項(xiàng)目中. 并測試這些私有庫沒問題.
4. 在gitLab上創(chuàng)建私有庫EWTBases, 配置.posdspec文件(圖: posdspec), 并把模板上傳到EWTBases,同時(shí)設(shè)置EWTBases的版本號(hào), 與配置文件中的版本號(hào)一致(圖: 上傳)
如果是選擇的Swift版本 需要在根目錄下執(zhí)行 : $ echo "3.0" > .swift-version 添加Swift的版本號(hào)
==圖: posdspec
==
==圖: 上傳
==
5. 校驗(yàn)私有庫是否正確: pod lib lint --allow-warnings (圖: lib) 把私有庫路徑上傳到索引庫: pod repo push EWTPodspec EWTBases.podspec (圖: 上傳索引庫), 同時(shí)在本地 /用戶/zwz/.cocoapods 目錄下有EWTBases私有庫的版本 (圖: 路徑)
==圖: lib
==
==圖: 上傳索引庫
==
==圖: 路徑
==
6. pod search EWTBases (圖: ewtbases)
如過search 不到, 先執(zhí)行 rm ~/Library/Caches/CocoaPods/search_index.json 之后再 pod search EWTBases
==圖: ewtbases
==
二. 使用遠(yuǎn)程私有庫
新建項(xiàng)目EWTDemo
, 在EWTDemo目錄下初始化pod:pod init
編寫 Podfile文件, (圖: podfile) 保存, 執(zhí)行命令: pod install
==圖: podfile
==
使用 EWTBases
三. 創(chuàng)建子庫
項(xiàng)目中可以創(chuàng)建多個(gè)私有庫, 但是當(dāng)文件較少, 且職責(zé)相同的情況下都會(huì)放到相同的私有庫中, 比如上面的創(chuàng)建的EWTBases
, 但是當(dāng)我們使用的時(shí)候, 就需要把EWTBases
中所有的文件都下載下來, 其中有些我們用不到, 比如: 我們就想僅僅使用EWTBases中的 Tool
. 此時(shí)就要用到子庫這個(gè)概念了...
如下圖, 重新編寫.podspec文件:
保存, 按照上面的步驟上傳到索引庫, 然后pod search 查看一下,如圖會(huì)多出兩個(gè)子庫.. 在使用的時(shí)候直接在podfile 加入: pod EWTBases/Tool (0.1.3)就可以了