2016-04-17 4 views
5

セットアップ

を要請受けたことがない私は、このコードを使用して友人/名簿リクエストを送信しています要求が送信されます。また、要求はストリームデリゲートメソッドで返されます。iOSのXMPPは、任意の友人/名簿が

- (BOOL)xmppStream:(XMPPStream *)sender didReceiveIQ:(XMPPIQ *)iq 

を確認します。

私は要求がデリゲートメソッドで扱われるべきであることをここに複数の質問を越え読んだ:

- (void)xmppStream:(XMPPStream *)sender didReceivePresence:(XMPPPresence *)presence 
代わり

- (void)xmppRoster:(XMPPRoster *)sender didReceivePresenceSubscriptionRequest:(XMPPPresence *)presence 

問題はどちらのことをされている問題これらのメソッドは、リクエストが送信されると呼び出されます。いずれかのデバイスから送信

  • でテスト

    iPhone 5(iOSの9.3.1)

  • iPhoneシミュレータ(iOSの9.3)

には成功をもたらしていません。

ノート

私はそれはejabberdの管理パネルに表示されているので、友達リクエストは、送信であることを確認することができます。さらに、ユーザーが管理パネルから追加された場合、クライアント側では何も起こりません(要求を受け取る必要があります)。

答えて

2

XMPPPresenceを送信していないため、- (void)xmppStream:(XMPPStream *)sender didReceivePresence:(XMPPPresence *)presenceまたは- (void)xmppRoster:(XMPPRoster *)sender didReceivePresenceSubscriptionRequest:(XMPPPresence *)presence というメソッドが呼び出されていません。

+0

私は 'XMPPPresence * presence = [XMPPPresence presence];を使ってプレゼンスを送信しています。 [self.stream sendElement:存在]; '内側' - (void)xmppStreamDidConnect:(XMPPStream *)送信者 'です。それを行う正しい方法ですか? – JomanJi

+1

バディリクエストを送信する際にプレゼンスを送信する必要があります。それではうまくいくはずです – Loegic

+0

前と後の両方のコードを入れようとしましたが、相手のリクエストを送信しましたが、まだ相手側から応答がありません – JomanJi

関連する問題