即时通信2
xmpp整理筆記:xmppFramework框架的導入和介紹
一個將要開發xmpp的項目,建議在項目剛創建就導入框架,這樣可以避免一些自己操作失誤造成不必要的損失。
xmpp中最常用的框架就是 xmppFrameWork
往期回顧:
xmpp整理筆記:環境的快速配置(附安裝包)??http://www.cnblogs.com/zhonghuaxiaodangjia/p/4323460.html
第一種方法直接拖
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的主要解析框架
轉載于:https://www.cnblogs.com/zhonghuaxiaodangjia/p/4323475.html
總結
- 上一篇: WCF消息拦截,利用消息拦截做身份验证服
- 下一篇: 一张图看懂数据防泄漏