本地私有庫(kù)使用
創(chuàng)建一個(gè)倉(cāng)庫(kù)嘁锯,存儲(chǔ)在本地朱监,在本地的其它工程中直接使用
1.創(chuàng)建本地倉(cāng)庫(kù)
- 需要打標(biāo)簽
2.創(chuàng)建倉(cāng)庫(kù)描述文件
- 命令:
pod spec create 工程名
描述文件名最好與工程名一致像云。 -
用 Xcode 打開(kāi)描述文件(最好不要用 txt),設(shè)置描述文件里面重要字段评疗。
本地私有庫(kù)-1.png
本地私有庫(kù)-2.png
本地私有庫(kù)
3.用pod集成本地庫(kù)
-
podFile文件 指明安裝本地庫(kù)的路徑
本地私有庫(kù)-3.png pod install
集成本地庫(kù)
本地私有庫(kù)優(yōu)化
1.以上存在問(wèn)題
- 手動(dòng)創(chuàng)建 podspec 文件
- 手動(dòng)使用 git 管理
- 無(wú)法測(cè)試漱办,需手動(dòng)創(chuàng)建測(cè)試工程
2.解決方案
-
使用
pod lib create XXX
命令創(chuàng)建 pod 庫(kù)模板工程
本地私有庫(kù)優(yōu)化-1.png -
拖入代碼到 Classes文件夾, 并刪除ReplaceMe.m
本地私有庫(kù)優(yōu)化-2.png 在宿主工程中, 直接測(cè)試, 沒(méi)有問(wèn)題后, 直接由外界以本地庫(kù)的形式使用
遠(yuǎn)程私有庫(kù)
遠(yuǎn)程私有庫(kù)使用
1.本地私有庫(kù)存在問(wèn)題
- 需要主動(dòng)指明路徑
- 版本升級(jí)不好維護(hù)
- 不適合多人合作開(kāi)發(fā)
2.遠(yuǎn)程私有庫(kù)圖解
遠(yuǎn)程私有庫(kù)-1.png
3.創(chuàng)建遠(yuǎn)程私有的 Spec Repo 倉(cāng)庫(kù)
-
在 coding 創(chuàng)建私有倉(cāng)庫(kù)
遠(yuǎn)程私有庫(kù)-2.png - 使用 ssh 加密
-
添加到本地 repos
遠(yuǎn)程私有庫(kù)-3.png
4.創(chuàng)建Pod私有庫(kù)所需要的項(xiàng)目工程文件,并上傳到私有倉(cāng)庫(kù)
- 創(chuàng)建倉(cāng)庫(kù)工程模板
pod lib create CLOCategories
便于本地測(cè)試 - 測(cè)試無(wú)誤后敏簿,提交代碼到遠(yuǎn)程私有倉(cāng)庫(kù)
- 打標(biāo)簽明也,并提交到遠(yuǎn)程倉(cāng)庫(kù)
-
修改 spec 文件
遠(yuǎn)程私有庫(kù)-4.png
5.驗(yàn)證podSpec文件
-
pod lib lint
遠(yuǎn)程私有庫(kù)-5.png
6.向私有的Spec Repo中提交podspec
pod repo push CLOPrivate CLOCategories.podspec
- 過(guò)程有警告可以用
--allow-warnings
忽略 - 過(guò)程會(huì)觸發(fā)提交信息到遠(yuǎn)程私有索引庫(kù)(CLOPrivateLib)
7.使用私有pod庫(kù)
-
檢索 pod rearch CLOCategories
遠(yuǎn)程私有庫(kù)-6.png
-
使用:如果pod庫(kù)在自己的索引庫(kù)時(shí),需引入source
遠(yuǎn)程私有庫(kù)-7.pngpod install
遠(yuǎn)程私有庫(kù)優(yōu)化
1.以上方法存在問(wèn)題
- 某一個(gè)組件庫(kù)依賴(lài)依賴(lài)另一個(gè)第三方框架怎么辦惯裕?
- 只想使用組件庫(kù)里的某一個(gè)功能文件怎么辦温数?
- 某一個(gè)組件庫(kù)需要圖片資源怎么辦?
2.問(wèn)題一解決方法
-
添加組件依賴(lài) 在 podspec 文件里設(shè)置依賴(lài)
遠(yuǎn)程私有庫(kù)優(yōu)化-1.png -
pod install
會(huì)自動(dòng)幫你集成 AFNetworking
遠(yuǎn)程私有庫(kù)優(yōu)化-2.png
3.問(wèn)題二解決方法
-
在 podspec 里使用 subspec
遠(yuǎn)程私有庫(kù)優(yōu)化-3.png -
只使用 pod 庫(kù)里的 Network 模塊
遠(yuǎn)程私有庫(kù)優(yōu)化-4.png
4.問(wèn)題三解決方案
-
將所需圖片素材存放在模板庫(kù)中的 Assets 文件夾里 在 podspec 中啟用 Assets
遠(yuǎn)程私有庫(kù)優(yōu)化-5.png
遠(yuǎn)程私有庫(kù)優(yōu)化-6.png -
加載圖片注意:此時(shí)的圖片素材不在 MainBundle 里蜻势, 所有不能用
imageWithName
加載
遠(yuǎn)程私有庫(kù)優(yōu)化-7.png
加載圖片正確方法NSString *path = [[NSBundle mainBundle] pathForResource:@"組件化" ofType:@"png" inDirectory:@"CLOBase.bundle"]; self.imageView.image = [UIImage imageWithContentsOfFile:path];