一個將要開發xmpp的項目,建議在項目剛創建就導入框架,這樣可以避免一些自己操作失誤造成不必要的損失。
xmpp中最常用的框架就是 xmppFrameWork
往期回顧:
xmpp整理筆記:環境的快速配置(附安裝包)http://www.cnblogs.com/dsxniubility/p/4304570.html
如果你不是在董鉑然博客園看到本文請 點擊查看原文
在網盤鏈接的xmppFramework文件夾 :http://pan.baidu.com/s/1jGxLa3G
也可以直接去github搜索下載。
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"
在文件頂部添加"#import <UIKit/UIKit.h>"
就是使用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的主要解析框架
如果你不是在董鉑然博客園看到本文請點擊查看原文
接下來將會整理,用戶管理模塊和信息發送模塊,有興趣的歡迎關注我