項目實現多工程聯編

在一個Xcode工作空間(.xcworkspace)建立多個工程(.xcodeproj)。目的是為了加快編譯(build)速度。可能由于引用第三方的功能代碼過大,如果使用一個工程,就會編譯工程所有代碼,耗時較大(我們經常遇到編譯和運行要十幾秒的,可能就是這個原因);如果我們把第三方代碼轉移到一個獨立工程,而且第三方代碼又不需要修改,那么我們編譯其他工程,就不會把這個工程一起編譯,浪費時間,這樣是不是用時會少點呢?

一、創建一個工作空間(Workspace)

創建一個工作空間,我這里命名為:MultipleProjects.xcworkspace

操作:
3FAEF1E4-37B4-4B4A-A95B-32AB74221EE4.png

效果:
1570097B-F7DA-4FF9-925B-5253CC6F80FD.png

這個樣式是不是很熟悉?與Cocoapods創建的工程是同一個格式,都是.xcworkspace(工作空間)。

二、創建兩個普通工程(測試多工程聯編)

創建兩個工程,我這里命名為:OneProject和TwoProject,目錄路徑自定義,我這里把工程和工作空間放一起,方便管理。

注意:要先打開.xcworkspace,在里面創建新工程,還要add to到工作區間如圖。否則不能聯編。

操作:
694ADFE5-05CE-4C2A-9EBD-07FAE3AE6A66.png

CC2658B2-2254-40E3-8717-D398109A445A.png

效果:
75219BF2-6FDF-4153-96AA-04820E6E22A5.png

三、將工程添加到工作區間

1.打開工作空間.xcworkspace文件;
2.在Xcode工程中,File->Add File To "XXX.xcworkspace";
3.選擇.xcodeproj文件進行添加(不是選擇文件夾)。

效果:
E4C7EC1C-6229-4554-A1E4-AC489F26F687.png

四、關聯項目(引入路徑)

A想引用B,就在A設置:引用B的路徑。也可以相互關聯引用。

Build Settings -> Search Paths -> Hearder Search Paths,點擊打開列表,進行操作。
這里是在Two引用One:"$(SRCROOT)/../OneProject"

07DCFD17-F8F6-4C2B-AB44-582DA758001B.png

五、測試方法調用

在OneProject工程添加新類和新方法,然后在TwoProject工程進行調用。

注意:要同時引用.h和.m文件,不然會報錯:
symbol(s) not found for architecture x86_64

OneProject工程操作:
5E859DAA-83EA-4246-A823-46C389D6E01F.png

TwoProject工程操作:
9F8B2044-E900-4A79-B330-15B5B81B9D11.png

六、其實到上一步已經完成聯編了,這里多增加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

3.初始化pod:pod install

4.完成

43EB7640-1152-4869-8EB3-3AD83C0C8572.png
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容