iOS手动导入XMPPFrameWork

首先,在 Github 上把源码下载下来,地址是:XMPPFramework源码地址,进入wiki,里面介绍了 xmpp库所依赖的的第三方库:CocoaLumberjack、CocoaAsyncSocket、KissXML。

其次,把三个库的源码一一下载下来并且 copy 进…/XMPPFramework/Vendor/下,把/Vendor下面的/facebook-iOS-sdk文件夹删除,再把/XMPPFramework下面的不需要的东西删除,最后整个文件夹看起来像这样:

iOS手动导入XMPPFrameWork_第1张图片

接着,把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: 如有疑问,欢迎留言。

你可能感兴趣的:(iOS手动导入XMPPFrameWork)