即時通訊2

xmpp整理筆記:xmppFramework框架的導入和介紹

 

一個將要開發xmpp的項目,建議在項目剛建立就導入框架,這樣能夠避免一些本身操做失誤形成沒必要要的損失。html

xmpp中最經常使用的框架就是 xmppFrameWorkgit

往期回顧:github

xmpp整理筆記:環境的快速配置(附安裝包)  http://www.cnblogs.com/zhonghuaxiaodangjia/p/4323460.html編程

第一種方法直接拖

1> 拖入文件夾

 在網盤連接的xmppFramework文件夾 :http://pan.baidu.com/s/1jGxLa3Gjson

 也能夠直接去github搜索下載。swift

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

 

3>  添加框架

    CFNetwork.frameworkxcode

    Security.framework服務器

    libxml2.dylib框架

    libresolv.dylibsocket

  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的主要解析框架

相關文章
相關標籤/搜索