您的位置:首页 > 其它

关于XMPPFramework的简介和集成到项目中的问题解决

2016-01-15 15:59 253 查看
what?是什么?
借助它来和openfire服务器来进行交互,它把底层的一些协议封装成api给我们调用。

how?如何使用?
把XmppFramework 集成到我们的项目中,导入之前先看看XmppFramework 的简介

XMPPFramework的目录结构



这个framewor里面的每个文件夹分别都是什么呢?

Authentication 授权
做登录相关的事情,如用户名密码等。

Categories 分类(对原有的一些类进行扩展)
XMPP自己写的一些分类

Core 核心代码
XMPPStream 就是跟服务器交互数据的时候使用的。(XMPPFramework 和服务器交互的时候使用最多的一个最最核心类),也就是(XMPP流),通过它我们可以发一些请求、消息等等。

XMPPMessage 发送聊天消息。

Extensions 扩展模块
移动客户端的聊天的数据,要保存数据库缓存的操作,这些都不⽤用为我们⾃自⼰己去写

XMPP帮我实现的额外功能 都是⼀个模块
⽐如好友列表 像好友信息、好友聊天记录这些就是在好友模块中处理

Utilities
工具类 (java程序猿喜欢用这个单词)

Vendor 意思是供应商
相对XMPP,是第三方资源库,是XMPP的第三方,相对于我们XMPP就是三方。
CocoaAsyncSocket异步Socket
CocoaLumberjack⽇志相关的,使⽤的是三方的日志
KissXML XMPP是以XML形式传输的,XMPP使用的是三⽅的XML解析

当然,还有一个Xcode文件夹,这里面实际上是一些例子使用说明的方法。例如有iPhone版的 desktop桌面版的等等。
保证我们的程序能够运行,然后我们要做的就是把 除了Xcode这个文件夹的其他的都导入到项目工程中。

导入之后,然后运行会报错如下:



这个是什么原因??

少库 和 头文件搜索路径

怎么解决?

导入库,和设置头文件搜索路径即可

怎么加库? (注意:Xcode7之后这些类库都由原来的.a变成.tbd了)
点击项目工程 - -》General(通用) —》往下 —》Linked Frameworks And Libraries - - > 点击➕号 —》libxml2.tbd
再加上另外一个 libresolv.tbd (否则链接过不去会报错)

设置头文件的搜索路径
点击项目工程 - -》Build Settings - -》all - -》 Header Search Paths —》双击它 - -》弹出一个空白菜单,然后点击➕号把libxml2的路径写上 /usr/include/libxml2 即可



再运行一下会发现有8个错,这下子开心了,只要不是报xml的就可以了,因为终于不是报这个错,那就证明这个路径的问题已经解决了,终于过了第一步了!嘿嘿



原因在于:XMPPFramework 里面找不到UIImage 那怎么办?
很简单,让它找着就可以了!

怎么让它找着呢?
难道我一个个文件的加UIK 吗?几百个文件,累s你!
在Xcode5之前,有一个文件叫做 pch 文件 (管一些全局的导入的)。
Xcode6之后只能通过Xcode预留的接口自行创建pch文件了。
因为在XMPPFramework里面大量用到 UIK框架里面的UIImage 等,所以要加一个pct文件让它统一的导入文件

怎么添加pch文件?
点击工程里面的和项目同名的文件夹 右键 - -》New File - -》 在 iOS中的 Other 里面 选择 PCH文件 - -》Next - -》可以默认的名字,把下面的Targets的钩钩打上



在Other中选择 PCH 文件 然后Next下一步



可以默认名字也可以起一个名字,钩钩打上



创建出来的pch文件在Supporting Files文件夹里面了



然后导入我们需要的UIK框架



这时候,Xcode还是找不到PCH文件的,因为路径的问题。所以我们要告诉Xcode,我们新加一个文件你去找一下

点击工程来到Build settings里面搜索 prefix header



然后把 Precompile Prefix Header(默认是No) 改成 YES



接着第二步 双击 Prefix Header

把我们刚刚创建的pch文件的路径填到这里

格式: 工程名/pch文件名.pch



到此为止,XMPPFramework已经顺利导入到项目中了,开开心心写代码去吧!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: