iOS_32_XMPPFramework架構匯入

來源:互聯網
上載者:User

標籤:xmpp   ios   git   即時通訊   

XMPP架構地址:http://xmpp.org/xmpp-software/libraries/
?https://github.com/robbiehanson/XMPPFramework?


預計要實現的功能:

?使用者登入、註冊?相互添加好友    Roster(花名冊)?好友之間的聊天?表情文字(CoreText)?聊天狀態      XEP-0085(線上、離開、請 勿打擾)?聊天室群聊  XEP-0045?傳送檔案     XEP-0096?語音交談     XEP-0065(本地錄音、發送音頻、播放)



XMPPMaster解壓縮後目錄



建立新的XCode空白項目,並勾選Git on my mac


直接在XCode項目中建立一個新的Lib檔案夾

1.匯入依賴架構–CocoaLumberjack:日誌架構(Log)–CocoaAsyncSocket:底層網路架構?需要添加CFNetwork&Security架構依賴–KissXML:XML解析架構?需要添加libxml2.dylib架構依賴?需要指定如下編譯選項:

OTHER_LDFLAGS =-lxml2

HEADER_SEARCH_PATHS =/usr/include/libxml2

–匯入檔案夾libidn
?將以下4個檔案夾匯入到項目–Authentication–Categories–Core–Utilities??另外還需要添加libresolv.dylib依賴
?匯入XMPP擴充架構 檔案夾–Extensions
?將Sample_XMPPFramework.h添加到項目,並且重新命名為XMPPFramework.h??在終端輸入:

git commit -m “添加XMPP架構”

?可以一次性提交所有增加的檔案

?XEP-0045:多使用者聊天?XEP-0060:發布-訂閱?XEP-0065:SOCKS5位元組流?XEP-0085: 聊天狀態通知?XEP-0096:檔案傳輸?XEP-0172:使用者暱稱?CoreDataStorage: 資料存放區?Reconnect:重新串連?Roster:花名冊所有的XMPP擴充?http://xmpp.org/xmpp-protocols/xmpp-extensions/



?XMPPStream:是開發過程中最主要互動的類,所有擴充和自訂代碼均要基於此類進行?XMPPLogging:XMPP的日誌架構

?XMPPParser:供XMPPStream解析使用?XMPPJID:提供了一個不可變JID的實現,遵守NSCopying協議和NSCoding協議
?XMPPElement:以下三個XMPP元素的基類?XMPPIQ  :請求?XMPPMessage  :訊息?XMPPPresence  :出席(上線)
?XMPPModule:開發XMPP擴充時使用?XMPPInternal:整個XMPP架構內部使用的核心和進階底層內容




1.配置串連至XMPP伺服器2.添加代理3.添加模組4.開始串連5.開始授權
?注意:–XMPP架構僅提供了一個最小的代理委託系統用於接收三種XMPP類型(IQ、Message和Presence),如果要實現更多的功能,開發人員還需要編寫大量的相關代碼–為了簡化開發,通常將XMPPStream放置在AppDelegate中,以便於全域訪問

?XMPPReconnect:如果意外中斷,自動重連XMPP流?XMPPRoster:標準的XMPP花名冊?XMPPRoom:提供多人聊天支援(聊天室)?XMPPPubSub:提供公用訂閱支援?etc

?使用XMPP的即時訊息傳遞系統包含三大通訊類別:–訊息傳遞,其中資料在有關各方之間傳輸–聯機狀態,允許使用者廣播其線上狀態和可用性–資訊/查詢請求,它允許XMPP實體發起請求並從另一個實體接收響應
?以上三種類型的XMPP節都擁有以下公用屬性:–from:源XMPP實體的JID–to:目標接收者的JID–id:目前的交談的可選標識符–type:節的可選子類型–xml:lang:如果內容是人們可讀的,則為訊息語言的描述







匯入CFNetwork.framework和Security.framework
匯入KissXML(相當麻煩)     

添加libxml2的標頭檔路徑,不然,KissXML無法工作

至此,Vendor(小販、賣主)匯入完畢
再將XMPP的4個基礎架構匯入至項目 (除了Extensions)
暫時用不到的擴充們
最後,還要匯入libresolv.dylib
不算擴充,最終結果
Git提交單個檔案

更好的做法是:命令列中,切換到工程路徑,一次性提交所有的(新增或修改的檔案)git commit -m "對本次操作的一些備忘"
全部提交後,XCode檔案右邊的A(add)就不見了




                       






                    






















iOS_32_XMPPFramework架構匯入

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.