iOS手动导入XMPPFrameWork
首先,在 Github 上把源码下载下来,地址是:XMPPFramework源码地址,进入wiki,里面介绍了 xmpp库所依赖的的第三方库:CocoaLumberjack、CocoaAsyncSocket、KissXML。
其次,把三个库的源码一一下载下来并且 copy 进…/XMPPFramework/Vendor/下,把/Vendor下面的/facebook-iOS-sdk文件夹删除,再把/XMPPFramework下面的不需要的东西删除,最后整个文件夹看起来像这样:
接着,把XMPPFramework文件夹导入到工程中,再根据wiki的指示,添加必要的系统框架:CFNetwork.framework、Security.framework、Foundation.framework、CoreGraphics.framewordk、UIKit.framework、libxml2、libresolv。
注:libxml2.dylib、libresolv.dylib Xcode 7.1 之后的版本是找不到的 通过工程里面 Project -> BuildSetting -> 搜索 Other Linker Flags 在Other Linker Flags 添加-lxml2和 -lresolv
添加完之后编译一下,会有如下一些错误:
错误①:Module ‘KissXML’ not found
解决①:把所有的 @import KissXML; 都替换成 #import “KissXML.h”。
继续编译则消除了之前的错误提示,紧接着又出现了新的
错误②:’libxml/tree.h’ file not found
解决②:这个是老错误了,在 Build Settings — Header Search Paths 添加/usr/include/libxml2 即可。
继续编译,出现两个错误
错误③:’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 即可。
错误④:/XMPPFramework/Vendor/libidn/libidn.a(stringprep.o)' does not contain bitcode.
解决④:选择项目属性中的”Build Settings“项 在搜索输入框中输入:bitcode,可以从设置中找到“EnableBitcode”项,它的默认值是Yes, 将Enable Bitcode项的值改成“No”,之后就能成功编译
最后如果有XMPPFrame的Swift 文件错误,在Build Phases里面将Swift文件删除即可
PS: 如有疑问,欢迎留言。