XMPP框架匯入

2021-07-14 22:08:28 字數 2095 閱讀 6016

xmpp中最常用的框架就是 xmppframework

第一種方法直接拖

cfnetwork.framework

security.framework

libxml2.dylib

libresolv.dylib

libin.a

header search paths

新增 "/usr/include/libxml2"

other linker flags

新增 "-lxml2"

library search paths

將"$(project_dir)/01-仿qq/lib/xmpp/vendor/libidn"

修改為"$(project_dir)",並改為"recursive"

就是使用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的主要解析框架

XMPP協議學習

xmpp協議簡介 xmpp extensible messageing and presence protocol 可擴充套件訊息與存在協議 是目前主流的四種im im instant messaging,即時訊息 協議之一,其他三種分別為 即時資訊和空間協議 impp 空間和即時資訊協議 prim...

XMPP協議介紹

通訊能夠在這三者的任意兩個之間雙向發生。伺服器同時承擔了客戶端資訊記錄,連線管理和資訊的路由功能。閘道器承擔著與異構即時通訊系統的互聯互通,異構系統可以包括sms 簡訊 msn,icq等。基本的網路形式是單客戶端通過tcp ip連線到單伺服器,然後在之上傳輸xml。客戶端利用xmpp 基於tcp i...

XMPP部分經驗

一 1 首先是呼叫viewdidload方法。2 先重新整理然後從資料庫裡面獲取所有的聊天記錄 initbubbledatas 這個方法寫在重新整理的方法裡面,每次重新整理都要呼叫 3 通過上面的方法將訊息結構轉換成聊天結構 structurebubbledataswithmessages 這個方法...