參考鏈接:
iOS工程項(xiàng)目依賴(lài)有三種方式:
1绒疗、創(chuàng)建library工程進(jìn)行依賴(lài)
2、創(chuàng)建framework工程進(jìn)行依賴(lài)
http://blog.csdn.net/litianpeng0624/article/details/52330691
http://blog.csdn.net/gghu1986/article/details/9234669
http://www.reibang.com/p/6b85f8496015
3骂澄、創(chuàng)建正常工程進(jìn)行依賴(lài)
http://www.reibang.com/p/e3cfae830985
其中l(wèi)ibrary和framework類(lèi)似:
1.建立一個(gè)Framework & Library->Cocoa Touch Static Library 取名A吓蘑,并在A里新建一個(gè)類(lèi)用來(lái)測(cè)試
2.建立一個(gè)demo工程B
3.把工程A整個(gè)文件夾復(fù)制到B工程文件夾里,位置隨便選(只要你會(huì)添加頭文件搜索路勁,如果不會(huì)坟冲,建議去另一篇教程學(xué)習(xí)http://blog.sina.com.cn/s/blog_877e9c3c0102v591.html
4.打開(kāi)A右鍵“Add Files To B”,選擇B.xodeproj,不要選擇Copy items if needed
//設(shè)置工作
1.編譯A的靜態(tài)庫(kù)
選擇工程A磨镶,設(shè)備調(diào)為iOS Device,編譯健提,會(huì)報(bào)錯(cuò)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 將選項(xiàng)改為:iPhone Developer (記住是選擇project而不是target)
再編譯琳猫,即可成功,這時(shí)候products里就出現(xiàn)了正常的A.a靜態(tài)庫(kù)
2.建立相關(guān)引用
B-Build Setting-Header Search Paths (添加頭文件搜索路徑--例如:$(SRCROOT)/工程名/BYTestLibrary/BYTestLibrary)
B-Build Phases - Link Binary With Libraries 添加A.a
B-Build Phases - Target Dependencies 添加A工程依賴(lài)關(guān)系 (確保編譯B的時(shí)候先編譯A)
3.如果A里面有圖片或者其他的依賴(lài)庫(kù)
B-Build Phases - Copy Files添加對(duì)應(yīng)的圖片和依賴(lài)庫(kù)
4.如果A里有category私痹,使用category的時(shí)候會(huì)crash
B-Other Linker Flags 添加-Objc和-all_load確保category被正常引入
5.***打包注意事項(xiàng)
有依賴(lài)庫(kù)的時(shí)候脐嫂,Archive通常在organize里找不到項(xiàng)目或者沒(méi)有version和identifier
要把依賴(lài)庫(kù)A-Build Settings-Skip Install設(shè)置為YES,但項(xiàng)目BSkip Install設(shè)置為NO
另外依賴(lài)庫(kù)還要做如下設(shè)置(借鑒)
將Build Phases->Copy Headers中的所有頭文件拉到Project下紊遵,即Public和Private下不能有文件
清空Build Settings->Deployment->Installation Directory選項(xiàng)的內(nèi)容
另外可能遇到問(wèn)題:
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中拖進(jìn)新導(dǎo)入的Framkwork账千,讓編譯器提前編譯這個(gè)二進(jìn)制文件