Xcode里面是可以同時(shí)存在多個(gè)工程的最仑∶臧常可以通過存放在同一個(gè)工作空間來實(shí)現(xiàn)同一個(gè)Xcode頁面存在多個(gè)工程,也就是有多個(gè)xcodeproj泥彤。舉個(gè)簡(jiǎn)單的例子欲芹,我們導(dǎo)入第三方的framework的時(shí)候,framework的作者們都是在多工程聯(lián)編的基礎(chǔ)上進(jìn)行SDK開發(fā)的全景,換句話說耀石,SDK在未正式上線投入使用的時(shí)候都是用多工程調(diào)試的。
接下來我們會(huì)做一個(gè)多工程的Demo
1.建立一個(gè)多工程工作空間MyWorkspace爸黄。(ps:平時(shí)導(dǎo)入cocoapods第三方庫的時(shí)候就是建立在workspace工作空間基礎(chǔ)上操作的滞伟,不過這些cocoapods已自動(dòng)幫我們做了。)
2.建立多個(gè)普通的Xcode工程UserApp1添加到MyWorkspace炕贵。
3.建立一個(gè)SDK工程MySDK添加到MyWorkspace梆奈。實(shí)現(xiàn)聯(lián)編。
1.建立一個(gè)工作空間MyWorkspace
Xcode里面称开,建立一個(gè)工作空間亩钟。File->New->Workspace,命名為UserProject,存放在新建的文件夾UserWorkspace中(名字都是可以隨便命名的)。
新的一個(gè)空的工作空間建好了鳖轰,我們可以往這個(gè)工作空間中加入幾個(gè)Xcode工程了清酥。
2.建立多個(gè)普通的Xcode工程UserApp1添加到UserWorkspace
File->New->Project 新建一個(gè)名為UserApp1的app工程文件。為了便于管理蕴侣,我們把他放在MyWorkspace文件夾中焰轻。
在UserWorkspace文件夾下看到如下效果即可
打開UserProject.xcworkspace,在工程中File->Add File To "MyWorkplace",選中剛才創(chuàng)建的UserApp1工程昆雀。這樣UserApp1工程就添加到了UserProject中了辱志。
3. 建立一個(gè)SDK工程MySDK添加到MyWorkspace已球。實(shí)現(xiàn)聯(lián)編。
但是多工程使用的精髓并不在這里,而在于兩個(gè)工程聯(lián)編聯(lián)調(diào)和悦。
我們新建一個(gè)名為UserSDK的framework退疫。然后將這個(gè)UserSDK工程添加到UserWorkspace渠缕,來實(shí)現(xiàn)UserApp1與UserSDK聯(lián)調(diào)鸽素。
File->New->Project->選擇Cocoa Touch Framework ,取名UserSDK的app工程文件亦鳞。在存放工程的界面中馍忽,將下面的Add to : 選擇成UserWorkspace。這樣UserSDK工程就添加到了MyWorkplace中燕差。到此遭笋,我們就可以在一個(gè)Xcode的界面中同時(shí)管理兩個(gè)工程了。
然后在UserSDK里面創(chuàng)建一個(gè)saySomething類方法,command+B,編譯一下徒探,就會(huì)生成一個(gè).framework的庫了瓦呼,在product里Show in Finder將生成的UserSDK.framework拖入U(xiǎn)serApp1工程目錄下。在SDK源碼方法中打一個(gè)斷點(diǎn),在ViewController里面調(diào)用saySomething方法测暗。執(zhí)行之后央串,斷點(diǎn)就會(huì)停在UserSDK工程中的里面。這樣就可以在兩個(gè)工程進(jìn)行調(diào)試了碗啄。