OC多工程聯(lián)編

1.主工程是:YYTDemo 平級(jí)的子工程是:YYTLIb
2.主工程引用子工程
3.新建 一個(gè)workspace之后新建Framework(YYTLib)


2B7AD775-46A5-427B-BF21-62C1D89D5805.png

新建完成之后如下圖:


AB6B2FD8-DD46-469F-9B1D-CA9F29D8C9DD.png

4.接下來(lái)新建一個(gè)主工程(YYTDemo)(Add to 和 Gruop 的時(shí)候要選擇你新建的那個(gè)WorkSpace哦)
Framework與主工程新建完成以后如下圖:


EF911991-A95B-452F-BBA8-4B06F6F8F129.png

5.之后呢我們要開(kāi)始聯(lián)編了
(1)YYTDemo------->"Targets"------->"Build Phases"--------->"Link Binary With Libraries" 加入YYTLib.framework
(2)YYTDemo------->"Targets"------->"Build Settings"--------->"Header Search Paths"添加“$(SRCROOT)/../YYTLib”
(3)點(diǎn)擊工程選擇運(yùn)行平臺(tái)----->"Edit schem"-----左側(cè)的功能列表------->"Build"【1.將上面的"Build Options選項(xiàng)的2個(gè)多選框勾去掉" 2.添加YYTLib.framework,并且要將他移到主工程上面 3.將下方shared選項(xiàng)框勾選上】如下圖:


38F2A60A-4614-4948-B7D6-BA1B46191299.png

(4)(2)YYTDemo------->"Targets"------->"Build Settings"--------->"Base SDK"改為“Latest iOS”
=(5)編譯通過(guò)(模擬器沒(méi)問(wèn)題,但是真機(jī)的話可能會(huì)報(bào)錯(cuò)bitcode,把build Settings里面的bitcode改為NO就可以了)
(6)主工程可以引用YYTLib.framework了

接下來(lái)說(shuō)一下如何引用YYTLib.framework里的公開(kāi)類,我新建了一個(gè)YYTLibManager.h,并且添加了一個(gè)方法:


4EC045AD-9B1A-48B0-B5E2-9A574CF1312C.png

(1)YYTLib------->"Targets"------->"Build Phases"--------->"Headers" 加入YYTLibManager.h
(2)然后在YYTLib.h里引入公開(kāi)的.h文件


C4F0D8A2-DB25-4CBA-8CF0-C7BD60BF1209.png

(4)主工程可以直接引用此getImage方法


9BDDD140-6041-4406-B10C-88869524D37E.png

多工程中的子工程里面有時(shí)候會(huì)用到圖片啊、plist文件的 ,子工程使用[NSBundle mainbundle]方法時(shí)會(huì)找不到該資源文件 ,這時(shí)候我們只需要一個(gè)bundle就可以解決找不到的問(wèn)題,接下來(lái)跟著我做:

4E1D801A-2BC3-4F4D-8E6E-5266121535A1.png
0C2A30E9-4C05-41AF-9BB8-008433367670.png
B0136922-BB0E-4DD2-925A-1FBEF3B4AD24.png

注意上面紅圈的地方,一定要選擇你相應(yīng)的子工程

5DC4CD62-FA20-42CD-95E5-10726D2D5A84.png

上圖資源文件已經(jīng)創(chuàng)建好,現(xiàn)在將一張圖片放入資源文件內(nèi)

E553F5F9-33A2-4A3A-B983-6E890B0817FF.png
9E5EF20D-54F4-4E43-BCC9-9DDF1CB2C268.png

還需要將bundle放入YYTLib.framework的“Target”的“Target Dependencies”

最后一步,需要在主工程中添加一段腳本代碼


4D4A91F0-BA45-407D-9D3D-48BF84801A82.png

cp -R ${BUILT_PRODUCTS_DIR}/YYTLibResource.bundle ${BUILT_PRODUCTS_DIR}/${TARGET_NAME}.app,只需要把YYTLibResource.Bundle換成自己的即可

上面代碼已經(jīng)給出,可能 正常用了

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容