iOS開發--XMPPFramework--好友模組(四)

來源:互聯網
上載者:User

標籤:

前面幾篇,我們討論了環境的配置,架構的匯入和使用者登陸,這一篇我們來說說好友模組。

在進入正題之前,我們來說下調試。

首先,開啟喜好設定,看一下Openfire伺服器和MySQL是否開啟,記得先開啟MySQL,再開啟Openfire,隨後,點擊Open Admin ConConsole,

出現下面的頁面,就成功了。

輸入使用者名稱和密碼,登入,出現這個介面:

隨後,點擊導覽列上的“使用者/組”,出現了使用者和聊天組的管理

我們可以看到,使用者中有兩個,一個是管理員,一個是普通使用者zhangsan,我們點擊左側菜單,建立一個使用者wangwu,登入密碼123456。

在mac上,有個叫 資訊 的應用,點開它。,並在功能表列中選擇添加賬戶

選擇其他“資訊”賬戶,點擊繼續。

點擊登入,成功連上,我們可以回到Openfire控制台,發現張三已經登入。

這樣就成功了,我們可以用程式和張三聊天。。

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

接下來是今天的正題,好友模組。

我們在上一篇設定模組的方法中,加入好友模組,並啟用。

 

// 好友模組    self.xmppRoster = [[XMPPRoster alloc] initWithRosterStorage:[XMPPRosterCoreDataStorage sharedInstance]];    // 不自動同意好友申請    [self.xmppRoster setAutoAcceptKnownPresenceSubscriptionRequests:NO];    [self.xmppRoster setAutoClearAllUsersAndResources:NO];    //登入完成之後 不自動同步一次好友名單    [self.xmppRoster setAutoFetchRoster:NO];        // 好友聊天記錄模組    self.xmppMessageArchiving = [[XMPPMessageArchiving alloc] initWithMessageArchivingStorage:[XMPPMessageArchivingCoreDataStorage sharedInstance]];        // 啟用    [self.xmppRoster activate:self.xmppStream];    [self.xmppMessageArchiving activate:self.xmppStream];

我們可以通過下面這個代理方法獲得好友的上下線通知:

- (void)xmppStream:(XMPPStream *)sender didReceivePresence:(XMPPPresence *)presence {    //這個if成立的時候說明對方想要訂閱你    if ([presence.type isEqualToString:@"subscribe"]) {        [self.xmppRoster acceptPresenceSubscriptionRequestFrom:presence.from andAddToRoster:YES];    }}

收到一個presence訊息,當然,我們這裡沒有對好友上線做操作,當前代碼的意思是收到好友訂閱請求,並且同意。

- (void)addUser:(XMPPJID *)jid withNickname:(NSString *)optionalName;

上面這段代碼的作用就是發送添加好友的請求。然後,對方在上面的代理中收到訂閱訊息,選擇同意或者彈出加好友的請求。

下一篇,我們來說說好友名單模組。

 

iOS開發--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.