目錄 | 二級(jí)目錄 |
---|---|
工程篇 | ?? |
工 |
生成工作空間 |
程 |
Pod依賴管理[可選] |
篇 |
Development Pods |
索引文章 |
?? 尾部注腳[1] |
使用初衷
- 當(dāng)項(xiàng)目工程越來越龐大的時(shí)候睛琳,一般我們會(huì)選擇將通用功能剝離成靜態(tài)包組件,亦或托管于
[CocoaPods]
掸掏; - 當(dāng)發(fā)布類似項(xiàng)目[1]時(shí)宙帝,我們會(huì)考慮使用
[TARGETS]
,或做版本管理步脓; - 但存在不同功能端
[Client]
[2]時(shí),我們又不想拆開項(xiàng)目[Project]
管理仍侥,[工作空間]
[3]是個(gè)非常合適的選擇农渊。
生成工作空間
- 創(chuàng)建一個(gè)空文件夾或颊,如
ProjectWorkSpace
1 .在目錄下:=Xcode=
?
+?
+N
創(chuàng)建兩個(gè)工程传于,如Anchor
沼溜、User
2 .在目錄下:=Xcode=
?
+?
+N
創(chuàng)建.xcworkspace
系草,如ProjectWorkSpace.xcworkspace
3 .在目錄下:生成Podfile
并索引工程唆涝,??
# 工作空間
workspace 'ProjectWorkSpace.xcworkspace'
# 商戶端
target 'Anchor' do
use_frameworks!
project 'Anchor/Anchor.xcodeproj'
end
# 用戶端
target 'User' do
use_frameworks!
project 'User/User.xcodeproj'
end
=備注:此處我選用CocoaPods
管理項(xiàng)目石抡,因?yàn)楸容^方便~=
-
pod install
后打開ProjectWorkSpace.xcworkspace
啰扛,即可見工程中Anchor
、User
鞍帝,且包含Pods
# 此時(shí)項(xiàng)目文件夾結(jié)構(gòu)應(yīng)為 ??
| ----------------------------------------------- |
| ProjectWorkSpace | Anchor | // 主播端工程
| ? User | // 用戶端工程
| ? ProjectWorkSpace.xcworkspace | // 工作空間
| ? Podfile |
| ? Podfile.lock |
| ? Pods |
| ----------------------------------------------- |
Pod依賴管理[可選]
- 更新
Podfile
??
# 工作空間
workspace 'ProjectWorkSpace.xcworkspace'
# 公共模塊
def commonPods
# ##### UI #####
pod 'Masonry', '~> 1.1.0' #約束
# ##### Tools #####
pod 'ReactiveObjC', '~> 3.1.1' #RAC-OC
pod 'AFNetworking', '~> 4.0.1' #網(wǎng)絡(luò)庫(kù)
end
# 騰訊SDK模塊
def txPods
pod 'WechatOpenSDK' #微信sdk(1.8.7.1)
end
# 商戶端
target 'Anchor' do
use_frameworks!
project 'Anchor/Anchor.xcodeproj'
commonPods
end
# 用戶端
target 'User' do
use_frameworks!
project 'User/User.xcodeproj'
commonPods
txPods
end
Development Pods
并非任何時(shí)候都需要用上遠(yuǎn)程私有庫(kù)艾岂,為了更為便捷的剝離業(yè)務(wù)共用組件,可選用 本地私有Pod
都许,即 Development Pods
cd ProjectWorkSpace
1 .在目錄下:創(chuàng)建CommonKit
文件夾凿菩,用于存放多個(gè)Development Pod
[可選]
2 .在目錄下 / 在CommonKit
下其弊,創(chuàng)建本地Pod
?? ,如ImKit
3 .在目錄下 / 在CommonKit
下梭伐,創(chuàng)建.podspec
糊识,如ImKit.podspec
,=備注=.podspec
詳細(xì)使用可參考姐妹篇[4]
4 .更新Podfile
赂苗,代碼區(qū) ?
5 .在目錄下:pod install
后哑梳,打開ProjectWorkSpace.xcworkspace
即可在工程目錄中可見,圖片區(qū)??-
代碼區(qū)
def ImKit
pod 'ImKit', :path => './CommonKit'
# path: 會(huì)在此路徑下悯仙,搜尋對(duì)應(yīng)`podspec`
# 故`.podspec`存放位置可照`搭建喜好`配置
end
# 商戶端
target 'Anchor' do
use_frameworks!
project 'Anchor/Anchor.xcodeproj'
commonPods
ImKit # 引入Kit*
end
# 用戶端
target 'User' do
use_frameworks!
project 'User/User.xcodeproj'
commonPods
ImKit # 引入Kit*
end
-
圖片區(qū)
`.xcworkspace`中工程結(jié)構(gòu)
工作區(qū)配合[CocoaPods]
食用還是非常便捷的吠卷,適合同項(xiàng)目獨(dú)有功能的剝離與維護(hù);
關(guān)于 Development Pods
的應(yīng)用其實(shí)是 遠(yuǎn)程私有Pod
pod repo push
前的開發(fā)狀態(tài)货岭,僅針對(duì)單項(xiàng)目而言使用是沒有問題的千贯,但想抽離組件給予其他項(xiàng)目使用搔谴,還是得私有化~
索引文章 ??
一桩撮、CocoaPods|安裝流程與使用
- CocoaPods相關(guān)問題,可查看此文章
二店量、模塊化工程 | CocoaPods篇|遠(yuǎn)程私有庫(kù)搭建流程 [通用工具箱] =姐妹篇?=
- 手把手搭建遠(yuǎn)程庫(kù)芜果,以及過程中遇見的問題及解決方法