首先进入xmpp官网下载xmpp框架后,将其导入工程中,完成后目录如下
导入所需的框架:CFNetWork.frameWork, security.frameWork, libxml2.dylib,libresolv.dylib然后指定如下编译选择:在Header Search Paths中加入/usr/include/libxml2,如下图
同时在 Other linker Flags中加入 -lxml2,如下所示
到此,xmpp基本的配置完成。
当我们使用类似xmpp这样的第三方框架时,如果是直接将文件拷贝后拖入项目中,当编译时,很有可能会报类似:
linker command failed with exit code 1 (use -v to see invocation)的错误,我遇到的是找不到libidn.a文件,可工程里明明已经有了。
原因大概是在将第三方库推拽如工程时,xcode不能自动编译某些文件,此时需要我们手动加入。在工作左边导航栏Target-->Build Phases-->compile Sources中,将第三方库的所有.m或者.a等文件都添加到里面,然后编译通过,问题解决。
倘若报的错误是下面这种类型:
libidn.a(stringprep.o), in section __TEXT,__text reloc 8: indirect symbol index out of range for architecture i386clang: error: linker command failed with exit code 1 (use -v to see invocation)
libidn.a
框架问题,去 https://github.com/robbiehanson/XMPPFramework 下载 然后删除Vendor,重新导入新的Vendor库