天天看點

IOS 建立

一、建立Workspace

建立Workspace,作為最外層的包裹體來管理工程。

建立Workspace

将建立好的Workspace放到建立好的檔案裡面

儲存Workspace

二、建立MainProject

建立MainProject作為主工程,可在此基礎上開發APP的主要功能(TabBar,Naviga等)

建立Project

選擇APP

建立工程名

存儲位置

這一步要注意兩點:

1、注意建立的Project要選擇APP子產品

2、要放到對應的Workspace裡面(最後一張圖紅色框的地方)

到這裡其實一個正常的工程是建立完成了,可以在裡面正常寫項目之類的了。接下來的其實就是對原本在MainProject裡面的子產品進行抽離。

1、如果想把項目中的一個Person子產品分離開來,可以跟上一步一樣使用File => New => Project =>

APP,這樣就可以新分離一個Person子產品給其他同僚開發,這樣既不會互相幹擾,而且運作的時候隻要運作自己的Targets就行了(怎麼把MainProject和Person子產品銜接起來,後面再說)。如果是獨立開發或者項目不大,可以直接在MainProject開發,省掉這一步

2、如果是網絡請求之類的共同功能可以使用framework子產品

三、Framework建立

這個跟上面的MainProject建立相似,隻不過後面的APP換成Framework選項

建立framework

存儲位置

這裡同樣要注意存儲位置,是在Workspace裡面的

結構圖

這個是加完了NetworkManager(framework),MainProject,Person之後的結構圖。本來NetworkManager裡面有個.h檔案的,由于我是swift開發,是以把它删了,新增了個NetworkManager.swift

接下來把MainProject、Person一起跟NetworkManager進行連結

四、連結framework

添加framework

選擇你需要連結的Target,Build Phase => Link Binary With Libraries => + =>

你的framework(NetworkManager)

添加路徑

選擇你需要連結的Target,Build Settings => 搜尋header search =>

輸入$(SRCROOT)/../NetworkManager

code

在對應的檔案導入NetworkManager就可以用了,這裡的lg()是我在NetworkManger.swift實作的func,這裡記得要給NetworkManager這個Class設定Public屬性,func也是要Public。

五、Pod管理設定

關于Pod管理我就直接發代碼了,多工程管理的Pod庫是哪個工程需要哪個第三方,就導入那個Pod。要注意的是,如果是在Framework中導入Pod的話,是所有引用這個Framework的Project都可以用,是以要避免重複調用。

use_frameworks!

source 'https://github.com/CocoaPods/Specs.git'

workspace 'MVVMAndRAC_Swift.xcworkspace'

target :'MainProject' do

platform :ios,'10.0'

project 'MainProject/MainProject.xcodeproj'

pod'SnapKit', '~> 4.0.1'

end

target'Person'do

platform :ios,'10.0'

project 'Person/Person.xcodeproj'

pod 'Kingfisher', '~> 5.2.0'

end

target 'NetworkManager' do

platform :ios,'10.0'

project'NetworkManager/NetworkManager.xcodeproj'

pod'Moya/RxSwift', '~> 14.0'

然後pod install就可以了