Xcode建立多個工程協同開發,xcode建立多個協同
今天研究了一下在Xcode中建立多個工程,達到模組化的目的的同時,實現多個相似項目的協同開發,最主要的是可以實現多工程連編。項目的效果如下:
接下來建立一個這樣的項目,以及他們之間的通訊
1.建一個檔案夾MyProject(這是本人採用的檔案夾)
2.在MyProject檔案夾下建立一個工作空間MyWorkSpace
3.在工作空間MyWorkSpace建立一個項目MyApp01添加到MyWorkSpace
4.建立靜態庫MyAccountSDK添加到MyWorkSpace工作空間下,實現聯編。
1.建立一個工作空間MyWorkSpace
在Xcode裡面,建立一個工作空間MyWorkSpace,並將其放下MyProject檔案夾下(名字隨便命名),具體如下:File->New->Workspace
、
建立完工作空間MyWorkSpace後的工程如下:
這樣我們的工作空間就建立完畢了,接下來在MyWorkSpace工作空間下添加工程和靜態庫.a
2.在工作空間MyWorkSpace下添加工程MyApp01
在工作的空間的Xcode檔案夾中,File->New->Project,然後注意要指定Workspace為你建立的MyWorkSpace工作空間下,這樣MyApp01工程就添加到MyWorkSpace中了
選擇Single View App,然後輸入工程名字
輸入工程名稱,本項目使用MyApp01(名稱隨意),如
將工程添加到MyWorkSpace工作空間下,如:
3.使用第2步可以繼續往MyWorkSpace中添加其他工程,下面不在贅述,工作空間MyWorkSpace又建立了MyApp02工程,這樣實現了Xcode同時管理了兩個工程,MyApp01和MyApp02,效果如下:
4.建立一個靜態庫.a添加到MyWorkSpace工作空間下,實現連編
項目使用多工程的目的不在於可以建立多重專案,而是在於可以實現多個工程的連編。下面我們建立一個名為MyAccountSDK的靜態.a庫,然後將其添加到工作空間MyWorkSpace中
選擇Cocoa Touch Static Library
步驟類似第2步驟,這裡不在詳細贅述
建立後的項目結構如下:
接下來在MyAccountSDK中MyAccountSDK類中創了一個類方法
+ (void)sayHelloWorldFromProjectName:(NSString *)projectName;
,然後分別在MyApp01和MyApp02工程中調用該類方法。
此時在MyApp01的ViewController中匯入MyAccountSDK類,並調用類方法+ (void)sayHelloWorldFromProjectName:(NSString *)projectName;編譯你會發現報錯,提示MyAccountSDK檔案不存在
解決辦法:
此時在編譯,你會發現還會報錯,提示沒有找到sayHelloWorldFromProjectName方法
、
解決辦法如下:
選擇剛才添加到MyWorkSpace工作空間的靜態庫.a檔案,即libMyAccountSDK.a
注意(在運行工程之前要先編譯一個靜態庫.a)要不會報錯,提示xxxx.a檔案找不到,此時再次編譯,你回奇蹟般的運行起來了,下面是見證奇蹟的時刻,運行結果如下:
小結:
上述中調用MyAccountSDK類中的類方法sayHelloWorldFromProjectName時,細心的你會發現忘記傳參數了,筆誤啊,這裡就不該了,望見諒,大家注意啊,否則會一直報錯,如果項目中使用到了Framework時,需要在工程中Build Setting->Framework Search Path中配置Framework中所在的靜態庫.a路徑,如:
排版不是很美觀,不喜勿噴啊!