今天研究了一下在Xcode中創建多個工程,達到模塊化的目的的同時,實現多個相似項目的協同開發,最主要的是可以實現多工程連編。項目的效果如下: 接下來創建一個這樣的項目,以及他們之間的通信 1.建一個文件夾MyProject(這是本人採用的文件夾) 2.在MyProject文件夾下創建一個工作空間My ...
今天研究了一下在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路徑,如下圖:
排版不是很美觀,不喜勿噴啊!