1、导入依赖框架
CocoaLumberjack:日志框架
CocoaAsyncSocket:底层网络框架
需要添加CFNetwork&Security框架依赖
KissXML:XML解析框架
需要添加libxml2.dylib框架依赖
需要指定如下编译选项:
OTHER_LDFLAGS = -lxml2
HEADER_SEARCH_PATHS =/usr/include/libxml2
libidn
将以下4个文件夹导入到项目
Authentication
Categories
Core
Utilities
另外还需要添加libresolv.dylib依赖
导入XMPP扩展框架
Extensions
将Sample_XMPPFramework.h添加到项目,并且重命名为XMPPFramework.h
2、如果崩溃到这里if(stringprep_xmpp_nodeprep(buf, sizeof(buf)) != 0) return nil;
由于苹果规则改变,导致所有的应用必须支持64位。今天就遇到了XMPP的问题。
“_stringprep_xmpp_resourceprep”, referenced from;
“_stringprep_nameprep”, referenced from;
"_stringprep_xmpp_nodeprep", referenced from;
"_stringprep", referenced from;
解决的办法是更新下
libidn.a文件。
下载地址是:http://download.csdn.net/detail/yqmfly/8675095
3、今天写xmpp的xmppStream的代理方法,结果代理方法
- (void)xmppStreamDidConnect:(XMPPStream*)sender不执行,原因是connect方法中的xmppStream的hostName和xmppStream的hostport 设置的不对。
4、返回信息是
RECV:<failure xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><not-authorized/></failure>
设置的jid 还有验证时需要的密码有错误可能格式不对,也可能是字符串里多空格。
5、iOS XMPP怎么实现语音聊天
两种处理方式
1、将获取到的音频文件通过base64加密直接通过xmpp的消息体发送过去,然后解码;
2、通过http请求的方式将音频文件上传到服务器,然后将音频文件的下载地址通过xmpp消息体发送过去,另外一个客户端下载。
音频文件建议转码为amr,这种格式的音频文件比较小。