首先飒炎,在 Github 上把源碼下載下來(lái)湿右,地址是:XMPPFramework源碼地址骡澈,進(jìn)入wiki票髓,里面介紹了 xmpp庫(kù)所依賴的的第三方庫(kù):CocoaLumberjack攀涵、CocoaAsyncSocket、KissXML洽沟。
其次以故,把三個(gè)庫(kù)的源碼一一下載下來(lái)并且 copy 進(jìn)…/XMPPFramework/Vendor/下,把/Vendor下面的/facebook-iOS-sdk文件夾刪除裆操,再把/XMPPFramework下面的不需要的東西刪除怒详,最后整個(gè)文件夾看起來(lái)像這樣:
接著,把XMPPFramework文件夾導(dǎo)入到工程中踪区,再根據(jù)wiki的指示昆烁,添加必要的系統(tǒng)框架:CFNetwork.framework、Security.framework缎岗、Foundation.framework静尼、CoreGraphics.framewordk、UIKit.framework传泊、libxml2鼠渺、libresolv。
注:libxml2.dylib或渤、libresolv.dylib Xcode 7.1 之后的版本是找不到的 通過(guò)工程里面 Project -> BuildSetting -> 搜索 Other Linker Flags 在Other Linker Flags 添加-lxml2和 -lresolv
添加完之后編譯一下系冗,會(huì)有如下一些錯(cuò)誤:
錯(cuò)誤①:Module ‘KissXML’ not found
解決①:把所有的 @import KissXML; 都替換成 #import “KissXML.h”。
繼續(xù)編譯則消除了之前的錯(cuò)誤提示薪鹦,緊接著又出現(xiàn)了新的
錯(cuò)誤②:’libxml/tree.h’ file not found
解決②:這個(gè)是老錯(cuò)誤了掌敬,在 Build Settings — Header Search Paths 添加/usr/include/libxml2 即可。
繼續(xù)編譯池磁,出現(xiàn)兩個(gè)錯(cuò)誤
錯(cuò)誤③:’CocoaAsyncSocket/GCDAsyncSocket.h’ file not found 或者 Module‘GCDAsyncSocket’ not found奔害、’CocoaLumberjack/CocoaLumberjack.h’ filenot found,或者其他的類似找不到頭文件地熄。
解決③:分別改成#import “GCDAsyncSocket.h” 和 #import“CocoaLumberjack.h”
提示:如果編譯中遇到 ‘xxx/xxx.h’ file not found华临,就替換成 xxx.h 即可。
錯(cuò)誤④:/XMPPFramework/Vendor/libidn/libidn.a(stringprep.o)' does not contain bitcode.
解決④:選擇項(xiàng)目屬性中的”Build Settings“項(xiàng) 在搜索輸入框中輸入:bitcode端考,可以從設(shè)置中找到“EnableBitcode”項(xiàng)雅潭,它的默認(rèn)值是Yes, 將Enable Bitcode項(xiàng)的值改成“No”却特,之后就能成功編譯
最后如果有XMPPFrame的Swift 文件錯(cuò)誤扶供,在Build Phases里面將Swift文件刪除即可
PS: 如有疑問(wèn),歡迎留言裂明。