iOS—手动导入XMPP框架

最开始项目中采用了 CocoaPods 来管理 XMPP 库,相当的方便。由于一些问题需要修改源码,而用 CocoaPods 管理,对于修改源码是极不方便的,所以最终抛弃此方法,改用手动添加 XMPP 库。

我以为很简单的,实际上却略微复杂。这里我把整个过程以及遇到的问题都记录下来。

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

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

iOS—手动导入XMPP框架_第1张图片
QQ20160717-1.png

接着,把 XMPPFramework 文件夹导入到工程中,再根据wiki的指示,添加必要的系统框架:CFNetwork.frameworkSecurity.frameworklibxml2libresolv

添加完之后编译一下,

错误①:Module 'KissXML' not found
解决①:把所有的 @import KissXML; 都替换成 #import "DDXML.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' file not found,或者
解决③:分别改成#import "GCDAsyncSocket.h"#import "CocoaLumberjack.h"
提示:如果编译中遇到 'xxx/xxx.h' file not found,就替换成 xxx.h 即可。

如果遇到了 Modlue 'libxmlSimu' not found 的错误,则可以参考我的回答:Stackoverflow。

以上是我遇到的一些问题,下一篇文章将会讲述如何编码实现聊天功能。

欢迎来一起交流。

你可能感兴趣的:(iOS—手动导入XMPP框架)