天天看點

iOS開發之使用XMPPFramework實作即時通信(一)

  關于xmpp的理論介紹在本篇部落格中就不做贅述了,如何在我們之前的微信中加入xmpp協定來實作通信呢?下面将會介紹一下xmpp的基本的知識,讓我們的微信可以實作互聯通信。要做的準備工作是要有伺服器支援xmpp協定,然後通過spark注冊個測試賬号,最後就可以通過xmpp用我們已有的賬号和密碼進行通信啦。至于如何使伺服器支援xmpp協定,如何通過spark新增賬號,不是本篇部落格的論述主題,本篇部落格中主要是如何在我們的app中使用xmpp協定。

  今天的部落格中的内容是如何在工程中引入xmppframework,并在app上可以連接配接并認證我們的賬戶和密碼,好啦,廢話少說,切入今天的正題。

  一.xmppframework的引入

    1.使用xmpp當然少不了架構的導入,還是用cocoapods來管理第三方類庫,在對應的工程中用cocoapods引入xmppframework, 在profile中添加相應版本的xmppframework架構,然後pod update一下安裝即可,終端截圖如下:

iOS開發之使用XMPPFramework實作即時通信(一)

    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)認證失敗後要調用的方法,代碼如下:

繼續閱讀