主骨架私有庫(kù) (組件化第三步)

第一步 cd 到 remoteLib 文件夾下面
使用  pod lib create Main 創(chuàng)建模板
WeChat19bd0febbb5a9074515adf0458e9a00b.png

回答一些問題

屏幕快照 2018-11-22 下午2.06.08.png

第二步 需要的文件 copy 到 Classes 文件夾下面
WeChat0b2c38e995de0612bd82a52f4fccf509.png

第三步 cd 到 Example 下面

執(zhí)行 pod install 安裝

然后把之前的代碼拿過來
WeChatabd99e5e3e240249adc2a738b1a7664b.png

因?yàn)檫@里引用了 UIView 的分類, 之前我們把這個(gè)做成了私有庫(kù)了, 那么我們就可以直接 pod 過來

第四步 需要編輯 spec 文件和 podfile 文件 如圖

屏幕快照 2018-11-22 下午2.32.37.png
屏幕快照 2018-11-22 下午2.32.43.png
 在執(zhí)行 pod install 即可
屏幕快照 2018-11-22 下午2.34.11.png

如果遇到加載 xib 的 View 則會(huì)報(bào)錯(cuò)
屏幕快照 2018-11-22 下午2.50.25.png

那是因?yàn)榧虞d方式錯(cuò)了, 因?yàn)椴灰呀?jīng)不在主骨架中 就是說路徑變了 需要使用

屏幕快照 2018-11-22 下午5.38.21.png
這種加載方式 

[NSBundle bundleForClass:[self class]]

注: 如果說本身寫錯(cuò)了 不能在 pod 里面直接改 要在外面改了之后 重新把代碼拖進(jìn)去在重新 pod install下 在clean 一下 重新跑就沒有問題

私有庫(kù) 引用資源文件

第一步 把你需要的圖片都按照@2x @3x 放在一個(gè)文件夾下面
WeChat44b5ff64e4f78104753d806da3beeebe.png

第二步 修改 spec 文件,

如果 你直接拖過來 直接 pod install 是沒有用的 所以需要修改 spec 文件在 pod  install
WeChatb663fc3a5aa68ba3ce129d32e0073a77.png

再跑程序 會(huì)發(fā)現(xiàn)還是沒有圖片 原因是加載的路徑不對(duì) 那么
WeChatfcce77835c9a1ffe07e6640bcca17dfc.png
屏幕快照 2018-11-23 上午11.34.15.png
WeChat91229b013245eb6f5ef21cce2fcde272.png
WeChat7f4c41ecbb27f36bb4dd7efd411a1c65.png

最后在 clean 下 在重新跑就 OK 了

屏幕快照 2018-11-23 上午11.37.14.png
如果說是代碼加載的圖片則使用一下的加載方式
 //當(dāng)前文件的 bundle
    NSBundle *currentBundler = [NSBundle bundleForClass:[self class]];
    //獲取屏幕 pt 和 px 之間的比例
    NSInteger scale = [UIScreen mainScreen].scale;
    NSString *imgName = [NSString stringWithFormat:@"%@@%zdx.png",[dict objectForKey:@"img"],scale];
    
    //得到圖片的路徑
    NSString *imgPath = [currentBundler pathForResource:imgName ofType:nil inDirectory:@"YFRetailUserCenter.bundle"];
屏幕快照 2018-11-23 下午1.12.48.png
或者自動(dòng)識(shí)別名字, 不用寫死 bundle 名字


NSBundle *currentBundle = [NSBundle bundleForClass:[self class]];
NSString *currentBundleName = currentBundle.infoDictionary[@"CFBundleName"];


NSString *noLoadingImgPath = [currentBundle pathForResource:@"noData_downloading@2x.png" ofType:nil inDirectory:[NSString stringWithFormat:@"%@.bundle", currentBundleName]];
self.noDataLoadView.noDataImg = [UIImage imageWithContentsOfFile:noLoadingImgPath];

WeChat52495adba7e6ce0713b5ef8884f79125.png

只要測(cè)試通過, 那么就需要上傳到遠(yuǎn)程代碼倉(cāng)庫(kù)

(1) 在 coding 首先創(chuàng)建一個(gè)私有的代碼庫(kù)  

(2) 編輯這個(gè)組件的 spec 文件 

屏幕快照 2018-11-23 下午1.20.52.png
(3)  提交到本地

git add .

git commit -m’x’

git remote 

git remote add origin https://git.coding.net/wyxlh/YukiMain.git(關(guān)聯(lián)倉(cāng)庫(kù))

git push origin master 推送到遠(yuǎn)程倉(cāng)庫(kù)

(4) 打 tag

git tag (查看下)

git tag ‘0.1.0’

git push —tags

 最后在驗(yàn)證下 pod spec lint

屏幕快照 2018-11-23 下午2.13.24.png

這里因?yàn)轵?yàn)證的時(shí)候 是去找的官方的源, 而 YukiBase/Category 是我們自己的源 這個(gè)可以不管

屏幕快照 2018-11-23 下午2.18.00.png
這里又報(bào)了一個(gè) resource_bundles的問題 經(jīng)過檢查是因?yàn)橘Y源文件緩存問題  那么久需要重新提交一次

清空緩存

pod cache clean — all


然后如果說你出現(xiàn)了警告 那么可以這樣

pod repo push Yuki Main.podspec —allow-warnings


刪除本地 tag
git tag -d ‘0.2.0’

刪除遠(yuǎn)程 tag
git push origin :refs/tags/標(biāo)簽名 (git push origin :refs/tags/0.1.3)或者(git push origin :0.1.3

10 統(tǒng)一披露 API

就是把你寫的用一個(gè)類來調(diào)用各個(gè)類的方法 便于別人直接使用

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容