關于xmpp的理論介紹在本篇部落格中就不做贅述了,如何在我們之前的微信中加入xmpp協定來實作通信呢?下面将會介紹一下xmpp的基本的知識,讓我們的微信可以實作互聯通信。要做的準備工作是要有伺服器支援xmpp協定,然後通過spark注冊個測試賬号,最後就可以通過xmpp用我們已有的賬号和密碼進行通信啦。至于如何使伺服器支援xmpp協定,如何通過spark新增賬號,不是本篇部落格的論述主題,本篇部落格中主要是如何在我們的app中使用xmpp協定。
今天的部落格中的内容是如何在工程中引入xmppframework,并在app上可以連接配接并認證我們的賬戶和密碼,好啦,廢話少說,切入今天的正題。
一.xmppframework的引入
1.使用xmpp當然少不了架構的導入,還是用cocoapods來管理第三方類庫,在對應的工程中用cocoapods引入xmppframework, 在profile中添加相應版本的xmppframework架構,然後pod update一下安裝即可,終端截圖如下:

2.update成功以後我們就可以用xmppframework幹活了
二.使用xmppframework連接配接伺服器并認證密碼
1.在appdelegate中聲明并執行個體化xmppstream,在擷取xmppstream執行個體時,和coredata中的managedobjectcontext類似,下面會給出代碼,
初始化xmppsteam代碼如下:
2.在使用xmppframework時,因為其用到是委托回調,是以要在相應的controller中實作xmppstreamdelegate協定,然後實作協定中相應的方法。
(1).在使用xmppstream的controller中通過application的delegate擷取我們上面建立的xmppstream執行個體,代碼如下:
(2)擷取xmpp流以後,就可以連接配接伺服器了,連接配接伺服器分為三部分,先拼接xmppjid, 然後把jid添加到xmppstream中,最後連接配接。代碼如下:
(3)實作連接配接伺服器後要回調的方法(連接配接後要認證使用者密碼),代碼如下
(4)實作認證成功後要回調的方法,代碼如下:
(5)認證失敗後要調用的方法,代碼如下: