iOS開發之使用XMPPFramework實現即時通訊(一),iosxmppframework
關於XMPP的理論介紹在本篇部落格中就不做贅述了,如何在我們之前的中加入XMPP協議來實現通訊呢?下面將會介紹一下XMPP的基本的知識,讓我們的可以實現互聯通訊。要做的準備工作是要有伺服器支援XMPP協議,然後通過spark註冊個測試帳號,最後就可以通過XMPP用我們已有的帳號和密碼進行通訊啦。至於如何使伺服器支援XMPP協議,如何通過Spark註冊帳號,不是本篇部落格的論述主題,本篇部落格中主要是如何在我們的App中使用XMPP協議。
今天的部落格中的內容是如何在工程中引入XMPPFramework,並在App上可以串連並認證我們的賬戶和密碼,好啦,廢話少說,切入今天的正題。
一.XMPPFramework的引入
1.使用XMPP當然少不了架構的匯入,還是用CocoaPods來管理第三方類庫,在對應的工程中用CocoaPods引入XMPPFramework, 在Profile中添加相應版本的XMPPFramework架構,然後pod update一下安裝即可,終端如下:
1 //XMPP資料流2 @property (strong, nonatomic) XMPPStream * xmppStream;3 4 5 //建立xmppstream6 self.xmppStream = [[XMPPStream alloc]init];
2.在使用XMPPFramework時,因為其用到是委託回調,所以要在相應的Controller中實現XMPPStreamDelegate協議,然後實現協議中相應的方法。
(1).在使用XMPPStream的Controller中通過Application的delegate擷取我們上面建立的xmppStream執行個體,代碼如下:
1 //擷取應用的xmppSteam(通過Application中的單例擷取)2 UIApplication *application = [UIApplication sharedApplication];3 id delegate = [application delegate];4 self.xmppStream = [delegate xmppStream];5 6 //註冊回調7 [self.xmppStream addDelegate:self delegateQueue:dispatch_get_main_queue()];
(2)擷取XMPP流以後,就可以串連伺服器了,串連伺服器分為三部分,先拼接XMPPJID, 然後把JID添加到xmppStream中,最後串連。代碼如下:
1 //串連伺服器 2 -(void) xmppConnect 3 { 4 //1.建立JID 5 XMPPJID *jid = [XMPPJID jidWithUser:@"lizelusdut" domain:MY_DOMAIN resource:@"iPhone"]; 6 7 //2.把JID添加到xmppSteam中 8 [self.xmppStream setMyJID:jid]; 9 10 //串連伺服器11 NSError *error = nil;12 [self.xmppStream connectWithTimeout:10 error:&error];13 if (error) {14 NSLog(@"串連出錯:%@",[error localizedDescription]);15 }16 }
(3)實現串連伺服器後要回調的方法(串連後要認證使用者密碼),代碼如下
1 //串連後的回調 2 -(void)xmppStreamDidConnect:(XMPPStream *)sender 3 { 4 //串連成功後認證使用者名稱和密碼 5 NSError *error = nil; 6 [self.xmppStream authenticateWithPassword:@"!@#admin" error:&error]; 7 if (error) { 8 NSLog(@"認證錯誤:%@",[error localizedDescription]); 9 }10 }
(4)實現認證成功後要回調的方法,代碼如下:
//認證成功後的回調-(void)xmppStreamDidAuthenticate:(XMPPStream *)sender{ NSLog(@"登陸成功");}
(5)認證失敗後要調用的方法,代碼如下:
1 //認證成功後的回調2 -(void)xmppStream:sender didNotAuthenticate:(DDXMLElement *)error
3 {
4 NSLog(@"登陸失敗");
5 }
個人感覺部落格長篇大論不利於別人攝取自己要用的知識,所以今天的部落格先就這麼長吧,今天是串連伺服器並認證使用者身份。以後會繼續更新部落格的內容,直到兩個APP之間可以通訊為止,希望大家繼續關注。
iOS開發:怎實現用一個密碼對指定的明文加密?最好是DES或者AES的有什Framework
你可以實用ios系統內建的加密方法。引用:
#import <CommonCrypto/CommonDigest.h>
詳細:www.cnblogs.com/...4.html
提問容易,回答不易,且問且採納!
matlab2010b 若要運行此應用程式,您必須首先安裝NET Framework以下版本之一 v4030319
去微軟官網下載NET Framework,其他網站也有。安裝起就行了