我在https://github.com/robbiehanson/XMPPFramework 下载了demo
1。根据需要从demo中分离了代码,具体就是以下部分的内容
2。然后添加引用到的库:libresolv.lib CFNetwork.framework libxml2.dylib SystemConfiguration.framework 这几个库
3。在target 的 header search paths 添加/usr/include/libxml2
具体设置基本完成,在使用项目的时候,我采用的是ARC的方式。在很多xmpp文件里面可以看到以下的一句话:
#if ! __has_feature(objc_arc)
#warning This file must be compiled with ARC. Use -fobjc-arc flag (or convert project to ARC).
#endif
但是当我使用ARC的模式编译
又是老是弹出错误不能使用 dispath_retain 等方式
查看代码的过程中我发现这个已经被定义为空,无效。
最后通过测试。只要将Deployment Target 设置为5.0就搞定了。
arc是从ios6开始支持的,所以对于retain的方式都是对于5.0生效,所以代码必须能支持到5.0版本。