組件化基本概念不再此介紹了,本文選擇的組件化實(shí)現(xiàn)方式是用pod集成。
使用pod集成組件前,我們需要提前做的準(zhǔn)備工作有:
- 1、有一個(gè)代碼托管平臺(tái)的注冊(cè)賬號(hào),并且代碼托管平臺(tái)能創(chuàng)建私密倉庫。
- 2、熟悉pod常用的操作命令。常用的有一下幾個(gè)命令
pod lib create 模板庫名稱
比如: pod lib create LYFMBase
pod repo
pod repo add 索引庫名稱 索引庫地址
比如: pod repo add LYSpec https://coding.net/u/liyang13145/p/LYSpec
pod repo push 本地索引庫名稱 xxxxx.podspec
比如: pod repo push LYSpec LYFMBase.podspec
pod lib lint
pod spec lint
pod install
pod update
- 3、熟悉git常用的操作命令。重用的有以下幾個(gè)命名
git add .
git commit -m 'x'
git remote
git remote add 遠(yuǎn)程名稱 遠(yuǎn)程地址
比如: git remote add origin https://coding.net/u/liyang13145/p/LYSpec_Code/git
git push 剛才創(chuàng)建的遠(yuǎn)程名稱 master
比如: git push origin master
git tag '0.1.0'
git tag
git tag --tags
git tag -d 0.1.0
git push origin :0.1.0
- 4、文件.podspec的基本編寫
當(dāng)然上面的只是必須技能,下面我們開始實(shí)戰(zhàn)下:
組件化開發(fā),pod管理,基礎(chǔ)測試
1、首先,我們用pod管理組件,需要我們創(chuàng)建一個(gè)代碼索引庫:就像我們平常用的是cocoa管理的一個(gè)索引庫,它的地址是:https://github.com/CocoaPods/Specs.git
,這個(gè)是公開的索引庫。當(dāng)我們做好組件代碼后,我們會(huì)同我們創(chuàng)建的私有索引庫關(guān)聯(lián),這樣以后就可以通過pod進(jìn)行管理。
2、除了創(chuàng)建索引庫之外,我們還需要?jiǎng)?chuàng)建一個(gè)組件化的代碼倉庫,用來存放我們的組件化代碼。
1-1、登錄代碼托管平臺(tái),我們創(chuàng)建一個(gè)空倉庫,記住,我們需要?jiǎng)?chuàng)建的是一個(gè)空的倉庫,不需要.gitignore 、也不需要許可文件 、也不需要readme。創(chuàng)建完成后,復(fù)制倉庫地址:
比如我的是:https://coding.net/u/liyang13145/p/LYSpec
1-2、創(chuàng)建本地的索引庫。
pod repo add 索引庫名稱 索引庫地址
pod repo add LYSpec https://coding.net/u/liyang13145/p/LYSpec
成功后:pod repo命令驗(yàn)證
當(dāng)然,我們可以去本地路徑查看,會(huì)看到兩個(gè)索引庫
2-1、pod命令可以為我們創(chuàng)建一個(gè)模板庫,我們就使用這個(gè)模板庫來測試我們的組件,命令是,然后它會(huì)讓你填一些基本信息,我們按照提示一步一步的往下走就可以
pod lib create LYFMBase
2-2、我們的代碼放在Classes文件中,資源放在Asset文件夾中(這里我們先不放資源文件)
2-3、進(jìn)入到Example演示代碼文件,使用git install 安裝我們剛才拖入的代碼(即 Classes文件夾中的代碼)
2-4、測試組件的過程就不說了,反正這一步就是組件代碼測試通過了。
2-5、去代碼托管平臺(tái)再創(chuàng)建個(gè)倉庫,存放代碼的倉庫,記住還是空的倉庫。
2-6、創(chuàng)建好倉庫后,記住倉庫地址和倉庫中代碼存放地址
2-7、編輯.podspec文件,這是我的
2-8、上傳代碼
git add .
git commit -m 'x'
git remote
git remote add origin 遠(yuǎn)程倉庫地址
git tag '0.1.0'
git push --tags
2-9、檢測.podspec文件
pod lib lint
3-1、驗(yàn)證通過,我們把.podspec文件提交到本地索引庫,然后本地索引庫會(huì)自動(dòng)push到遠(yuǎn)程索引庫
pod repo push LYSpec LYFMBase.podspec
4-1、完成,我們可以在桌面另外建立一個(gè)工程,然后用pod安裝我們自己的組件,新工程中,podfile文件中這么寫
source 'https://github.com/CocoaPods/Specs.git'
source 'https://coding.net/u/liyang13145/p/LYSpec'
platform :ios, '8.0'
target 'Test' do
use_frameworks!
pod 'LYFMBase'
pod 'AFNetworking'
end
需要寫兩個(gè)索引資源文件地址,cocoa官方的:安裝優(yōu)秀的三方;我們自己的:安裝我們自己的組件。
然后pod install,如果能成功安裝,編譯運(yùn)行通過,恭喜大家,我們第一階段的目標(biāo)已經(jīng)成功了。
記錄我在集成的過程中碰見的問題和解決方案:
解決方法:
sudo gem uninstall cocoapods
sudo gem install cocoapods