zoukankan      html  css  js  c++  java
  • (转)xmpp 环境配置-支持扩展

    第一种方法直接拖

    1> 拖入文件夹

     在网盘链接的xmppFramework文件夹 :http://pan.baidu.com/s/1jGxLa3G

     也可以直接去github搜索下载。

    2>  拖入Sample_XMPPFramework.h,重命名为XMPPFramework.h

    技术分享

    3>  添加框架

        CFNetwork.framework

        Security.framework

        libxml2.dylib

        libresolv.dylib

      libin.a

    技术分享

    4>  修改Build Settings

        Header Search Paths

            添加 "/usr/include/libxml2"

        Other Linker Flags

            添加 "-lxml2"

        Library Search Paths

            将"$(PROJECT_DIR)/01-仿QQ/Lib/XMPP/Vendor/libidn"

            修改为"$(PROJECT_DIR)",并改为"recursive"

     技术分享

     

    5>  修改XMPP/Core/XMPP.h

        在文件顶部添加"#import <UIKit/UIKit.h>"

    技术分享

    第二种方法cocoapods

    就是使用cocoapods 可以一次性导入,并且也不需要上述的配置和调整。并且以后更新框架的时候一个pod update完事。

    但是有一个很严重的问题。就是你在导入框架pod install的时候会报错,出现一个 circular dependency 就是循环依赖。这是cocoapods的版本问题,cocoapods0.35版本会对xmppFramework框架造成循环依赖,解决的方法就是,将cocoapods的版本降到 0.34.4

    终端操作指令如下:

    1.卸载cocoapods 

    $ sudo gem uninstall cocoapods

    2.安装xcodeproj

    $ sudo gem install xcodeproj

    3.安装指定版本0.34.4的cocoapods

    $ sudo gem install cocoapods -v 0.34.4

    但是这样很不爽啊,因为往后swift什么的编程全都需要cocoapods的版本保持最新0.35 甚至0.36. 所以这个降版本非常蛋疼,两种方法都能用。具体使用哪种,可根据自己喜好决定。反正我是选了第一种。

    框架内的大致介绍

    Authentication    授权,身份验证

    Categories        分类

    Core              核心

    Extensions        扩展

    Utilities         工具

    Vendor            第三方库

      Extensions中:

    CoreDataStorage   coreData存储

    Reconnect    重新连接

    Roster    好友管理

        有数据表 XMPPRoster 用来管理用户

        管理用户的类 XMPPUserCoreDataStorageObject

    SystemInputActivityMonitor     系统输入的活动监控

    常用的模块:

    XEP - 0009    RPC(类似黑客技术)

    XEP - 0012    最后的活动(判断上线,离开断开)

    XEP - 0045    多人聊天

    XEP - 0054    名片-个人信息设置

    XEP - 0065    sockets5字节流

    XEP - 0066    二进制数据传输(特殊信息的发送)

    XEP - 0085    聊天状态通知

    XEP - 0136    聊天记录归档

      其中有数据表 XMPPMessageArchiving

      取出当前信息的类 XMPPMessageArchiving_Message_CoreDataObject 

    XEP - 0153    基于名片的头像

    XEP - 0199    xmpp ping (用来ping服务器和ping自己)

    XEP - 0335    json容器(可能以后某些信息传输将用json格式)

     

    在core中:

    XMPPElement 是一个基类 ,延展出三个子类

    XMPPIQ    请求 (用户登录,用户注册,添加好友等)

    XMPPMessage    消息(用来发各种消息等)

    XMPPPresence    展现(用户上线下线提示等)

    XMPPStream    流,非常常用,大部分类的加载都在写在流的懒加载里

    在vender中:

    kissXML 用于xml的主要解析框架

  • 相关阅读:
    leetcode 第 44 场双周赛 1 1734. 解码异或后的排列 C
    leetcode 第 44 场双周赛 1 1732. 找到最高海拔 C
    2014浙江省赛 ZOJ
    2018沈阳区域赛现场赛 Gym
    山东省ACM多校联盟省赛个人训练第六场 poj 3335 D Rotating Scoreboard
    Minieye杯第十五届华中科技大学程序设计邀请赛现场同步赛 I Matrix Again
    计算机爱好者协会技术贴markdown第四期
    计算机爱好者协会技术贴markdown第三期
    摇骰子
    PAT 1003 dijkstra
  • 原文地址:https://www.cnblogs.com/hxwj/p/4430789.html
Copyright © 2011-2022 走看看