很久之前就要寫來著,但是由于種種原因沒有寫了,最近在搭一個(gè)項(xiàng)目的框架,我用的多工程聯(lián)編的方式,所以趁機(jī)有時(shí)間寫一下.給大家參考一下,如果有寫的不好的地方見諒.
展示一下效果

最終效果截圖
(一)創(chuàng)建方式
第一步肯定是要?jiǎng)?chuàng)建工程的但是創(chuàng)建的工程有兩種方式
(1)直接創(chuàng)建最原始的不使用pods
(2)使用pods
我這里使用的是不用pods的(影響應(yīng)該不大,有興趣的可以看完后自己測一下)
(二)開始創(chuàng)建工程
(1)創(chuàng)建一個(gè)普通的工程

屏幕快照 2018-04-19 下午1.48.48.png

屏幕快照 2018-04-19 下午1.49.26.png

1.png
(2)創(chuàng)建兩個(gè)framework并且各定義一個(gè)打印的方法(這里只展示了創(chuàng)建方法自己按照這個(gè)方法創(chuàng)建兩個(gè)就可以了)

屏幕快照 2018-04-19 下午1.50.21.png

屏幕快照 2018-04-19 下午1.50.45.png

2.png

3.png
(3)將工程添加進(jìn)主工程

屏幕快照 2018-04-19 下午2.01.05.png

屏幕快照 2018-04-19 下午2.01.31.png

添加進(jìn)去后的效果.png
(4)重點(diǎn)從現(xiàn)在開始開始關(guān)聯(lián)工程
1.現(xiàn)在我們要做的是主工程調(diào)用framework
首先我們先配置相關(guān)的配置

添加framework到主工程.png

將兩個(gè)framework添加到主工程.png
設(shè)置子工程的配置

將庫的類型設(shè)為靜態(tài)庫.png

將庫的類型設(shè)為靜態(tài)庫.png

將需要外界訪問的.h的文件放到public中.png
設(shè)置主工程

設(shè)置庫的路徑否則訪問不到的.png

.設(shè)置庫的路徑否則訪問不到的png

頭文件的路徑也需要設(shè)置.png

好了在主工程中寫代碼就可以調(diào)用了.png
一個(gè)庫調(diào)用另外的一個(gè)庫(這個(gè)時(shí)候可以發(fā)現(xiàn)報(bào)黃了別急下面就干掉他)

一個(gè)庫調(diào)用另外的庫的文件也可以了.png

設(shè)置需要調(diào)用的庫的路徑.png

設(shè)置需要調(diào)用的庫頭文件的路徑.png
解決!!!
接下來說一下注意事項(xiàng)
1.有時(shí)候我們編譯的時(shí)候會報(bào)duplicate symbols for architecture x86_64這個(gè)錯(cuò)了解解決方案
2.或者說這個(gè)錯(cuò)Can't map file, errno=22 file 'xxx' for architecture arm64(armv7)了解解決方案
3.如果加入-ObjC報(bào)錯(cuò)的也可以看第二種方案了解解決方案
- 如果靜態(tài)庫中有category類,則在使用靜態(tài)庫的項(xiàng)目配置中Other Linker Flags需要添加參數(shù)-ObjC或者-all_load(這個(gè)-all_load慎用)。(這個(gè)時(shí)候可能會報(bào)錯(cuò)請點(diǎn)擊這里了解解決方案,可能原因庫中的文件有重名的)
5.如果創(chuàng)建的framework類中使用了.tbd,則需要在實(shí)際項(xiàng)目中導(dǎo)入.tbd動態(tài)庫
6.我們生成的動態(tài)庫有時(shí)候真機(jī)和模擬器不能共用,如果不嫌麻煩可以使用的時(shí)候來回切換路徑,否則的話請點(diǎn)擊這里framework的創(chuàng)建及合并
好了這就是一個(gè)完整的工程了,喜歡點(diǎn)個(gè)贊!有問題可以留言,如果有寫的不好的地方歡迎各位指正!該文檔會隨著項(xiàng)目的進(jìn)度隨時(shí)更新!
,
2018.7.13更新pods工程創(chuàng)建多工程
1.首先創(chuàng)建一個(gè)pods工程
2.按以上步驟完成繼承frameWork工作
3.在需要引用pods工程中文件的framework中設(shè)置相關(guān)路徑,如下圖接下來就可以使用了

屏幕快照 2018-07-13 上午11.36.07.png

屏幕快照 2018-07-13 上午11.39.18.png

屏幕快照 2018-07-13 上午11.39.30.png

屏幕快照 2018-07-13 上午11.39.39.png