2013-05-11 2 views
3
내가 XMPPFramework와 도전 오늘이

을받을 ...XMPPFramework/아이폰 OS 문제 : 전송 및 구독

내가 제대로 ejabberd를 구성한 : 서버가 실행하고 대역 내 등록 올바르게 사용자를 등록합니다.

그러나 한 장치에서 구독 요청을 보내려고하면 두 번째 장치는 첫 번째 장치의 현재 상태를 수신 할 수 없습니다.

[[[self appDelegate] xmppRoster] addUser:userJID withNickname:nickname groups:nil subscribeToPresence:YES]; 

그리고 모든 확인을가는 경우, 두 번째 장치는 대리자 메서드를 해고해야합니다 : 여기에 사용자를 구독 할 첫 번째 장치에서 사용하는 코드는 문서화,의

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

문제는이다 이 위임 메서드는 절대로 실행되지 않습니다. 서버가 사용자의 새 연락처를 만듭니다. ejabberd 웹 관리자에서 볼 수 있지만 가입 유형은 none으로 설정됩니다.

아이디어가 있으십니까?

UPDATE :

글쎄, 내가이 JID에 호스트 이름을 포함 잊고 된 것으로 보인다. 이제 XMPPRoster에 대한 대리인이 호출되지 않지만 ejabberd에서 요청이 '없음'이 아니라 '둘 다'및 보류중인 유효성 검사임을 알 수 있습니다. XMPPRoster 대표는 발사되지 않는 이유

답변

1

eJabberd했다 보인다 ... 사용자가 새 구독 요청을 수신 할 때 ejabberd 서버가 적절한 통지를 보내지 않는 것 같다 ... 상상할 수 없다 잘못 구성되었거나 무언가. 그냥 OpenFire를 설치하고 모든 것이 올바르게 작동합니다.

+0

안녕하세요, Yoryo, 저는 같은 문제에 직면하고 있습니다. 저는 불을 사용하고 있지만 한 명의 사용자가 존재하지는 않습니다. 제발 도와주세요, 그것의 긴급한 – Khushboo

+0

글쎄,이 XMPPFramework 프로젝트를 더 이상 사용하지 않고 있지만, OpenFire에는 사용자를위한 사용자 관리 도구가 있다는 것을 기억합니다. 대행자 메소드에서 가져 오는 스탠자를 검토해야합니다. 여기에서 읽을 수 있습니다 : https://github.com/robbiehanson/XMPPFramework/wiki/IntroToFramework –

+0

OpenFire는 JID의 "자원"부분을 해결할 수있는 방법이 있다고 믿습니다. ejabberd는 그렇지 않습니다. JID의 자원 부분이 추가되고 구독되면 대리자 메서드가 실행됩니다. – esh