iOS多工程依賴方式

參考鏈接:

iOS工程項目依賴有三種方式:
1、創(chuàng)建library工程進行依賴
2、創(chuàng)建framework工程進行依賴
http://blog.csdn.net/litianpeng0624/article/details/52330691
http://blog.csdn.net/gghu1986/article/details/9234669
http://m.itdecent.cn/p/6b85f8496015
3、創(chuàng)建正常工程進行依賴
http://m.itdecent.cn/p/e3cfae830985
其中l(wèi)ibrary和framework類似:

1.建立一個Framework & Library->Cocoa Touch Static Library 取名A,并在A里新建一個類用來測試
2.建立一個demo工程B
3.把工程A整個文件夾復制到B工程文件夾里,位置隨便選(只要你會添加頭文件搜索路勁,如果不會,建議去另一篇教程學習http://blog.sina.com.cn/s/blog_877e9c3c0102v591.html
4.打開A右鍵“Add Files To B”,選擇B.xodeproj,不要選擇Copy items if needed

//設置工作
1.編譯A的靜態(tài)庫
選擇工程A,設備調(diào)為iOS Device,編譯,會報錯1.“CodeSign error: code signing is required for product type 'Unit Test Bundle' in SDK 'iOS 8.1'”
解決辦法:選擇A工程->Build Settings -> Code Signing -> Code Signing Identity -> Debug -> Any ios SDK 將選項改為:iPhone Developer (記住是選擇project而不是target)
再編譯,即可成功,這時候products里就出現(xiàn)了正常的A.a靜態(tài)庫

2.建立相關引用
B-Build Setting-Header Search Paths (添加頭文件搜索路徑--例如:$(SRCROOT)/工程名/BYTestLibrary/BYTestLibrary)
B-Build Phases - Link Binary With Libraries 添加A.a
B-Build Phases - Target Dependencies 添加A工程依賴關系 (確保編譯B的時候先編譯A)

3.如果A里面有圖片或者其他的依賴庫
B-Build Phases - Copy Files添加對應的圖片和依賴庫

4.如果A里有category,使用category的時候會crash
B-Other Linker Flags 添加-Objc和-all_load確保category被正常引入

5.***打包注意事項
有依賴庫的時候,Archive通常在organize里找不到項目或者沒有version和identifier
要把依賴庫A-Build Settings-Skip Install設置為YES,但項目BSkip Install設置為NO

另外依賴庫還要做如下設置(借鑒)
將Build Phases->Copy Headers中的所有頭文件拉到Project下,即Public和Private下不能有文件
清空Build Settings->Deployment->Installation Directory選項的內(nèi)容

另外可能遇到問題:
dyld: Library not loaded: /System/Library/Frameworks/Social.framework/Social
Referenced from: /var/mobile/Applications/00D3E0A7-4FF6-451E-B11C-87D7A189F425/sample.app/sample
Reason: image not found

解決方式是:
General--》Embedded Binaries中拖進新導入的Framkwork,讓編譯器提前編譯這個二進制文件

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容