2012-11-23 4 views
1

내 iOS 앱은 현재 채팅 용으로 XMPPFramework와 작동합니다. 하지만 주어진 xmpp 사용자 이름에 대한 연락처 목록에 사용자가 있는지 확인하는 것이 좋습니다. 어떤 부분을보아야하는지에 대한 아이디어는 인정 될 것입니다.사용자가 XMPPRoster에 있는지 확인하는 방법?

답변

1

XMPPFramework에서 XMPPRoster의 작동 방식을 이해해야합니다. 나는 친구의 목록을 요청하는 절단 보낼 경우

,이 구조가 전송됩니다

<iq id="xxx" type="get"> 
    <query xmlns="jabber:iq:roster"></query> 
</iq> 

"IQ는"당신이 뭔가를 수신 할 것입니다 당신이 서버 뭔가 "질의"에 쿼리 의미한다. 당신이 fetchRoster 방법을 보면

XMPPRosterMemoryStorage *rosterStorate = [[XMPPRosterMemoryStorage alloc] init]; 
XMPPRoster * roster = [[XMPPRoster alloc] initWithRosterStorage:rosterStorate]; 
[roster addDelegate:self delegateQueue:dispatch_get_main_queue()]; 
[roster activate:[self xmppStream]]; 
[roster fetchRoster]; 

, 당신은 내가 소스 코드 위에 무엇을 쓰기 쿼리를 찾을 수 있습니다.

는 그리고 당신은 당신에게

에게 XMPPRosterMemoryStorageDelegate

에 행운을 - (void)xmppRosterDidPopulate:(XMPPRosterMemoryStorage *)sender 방법을 정의해야합니다.

+0

질문은 일반 XMPP가 아니라 XMPPFramework에 관한 것입니다. – user83039

관련 문제