在一個Xcode工作空間(.xcworkspace)建立多個工程(.xcodeproj)。目的是為了加快編譯(build)速度。可能由于引用第三方的功能代碼過大,如果使用一個工程,就會編譯工程所有代碼,耗時較大(我們經常遇到編譯和運行要十幾秒的,可能就是這個原因);如果我們把第三方代碼轉移到一個獨立工程,而且第三方代碼又不需要修改,那么我們編譯其他工程,就不會把這個工程一起編譯,浪費時間,這樣是不是用時會少點呢?
一、創建一個工作空間(Workspace)
創建一個工作空間,我這里命名為:MultipleProjects.xcworkspace
操作:這個樣式是不是很熟悉?與Cocoapods創建的工程是同一個格式,都是.xcworkspace(工作空間)。
二、創建兩個普通工程(測試多工程聯編)
創建兩個工程,我這里命名為:OneProject和TwoProject,目錄路徑自定義,我這里把工程和工作空間放一起,方便管理。
操作:注意:要先打開.xcworkspace,在里面創建新工程,還要add to到工作區間如圖。否則不能聯編。
三、將工程添加到工作區間
1.打開工作空間.xcworkspace文件;
2.在Xcode工程中,File->Add File To "XXX.xcworkspace";
3.選擇.xcodeproj文件進行添加(不是選擇文件夾)。
四、關聯項目(引入路徑)
A想引用B,就在A設置:引用B的路徑。也可以相互關聯引用。
Build Settings -> Search Paths -> Hearder Search Paths,點擊打開列表,進行操作。
這里是在Two引用One:"$(SRCROOT)/../OneProject"
五、測試方法調用
在OneProject工程添加新類和新方法,然后在TwoProject工程進行調用。
OneProject工程操作:注意:要同時引用.h和.m文件,不然會報錯:
symbol(s) not found for architecture x86_64
六、其實到上一步已經完成聯編了,這里多增加CocoaPods管理
1.終端創建podfile文件:touch Podfile
2.編輯podfile文件內容:
platform :ios, '8.0'
#聲明工作空間
workspace 'MultipleProjects.xcworkspace'
#以下是各個工程的配置
target 'OneProject' do
pod
#聲明自身工程
xcodeproj 'OneProject/OneProject.xcodeproj'
end
target 'TwoProject' do
#聲明自身工程
xcodeproj 'TwoProject/TwoProject.xcodeproj'
end