2014-04-14 1 views
0

내가 사용하는 모든 코드는 https://github.com/robbiehanson/XMPPFramework입니다. 샘플 코드 내부.iOS XMPP 프레임 워크, 잘못된 자격 증명을 처리하는 방법?

내 iOS7 메시징 앱에서 사용자가 로그인 자격 증명을 입력하고 "로그인"버튼을 클릭하면 XMPP 프레임 워크에서 "연결"기능을 호출합니다. 처음에는 올바른 자격 증명을 입력하면 연결 기능이 제대로 작동하지만 사용자가 잘못된 자격 증명을 입력하면 작동하지 않습니다. 연결 안쪽이 매우 첫 번째 라인은 단순히 TRUE 반환하기 때문에 : 아무것도하지 않을 것이다 로그인 버튼을 더 프레스를 의미

if (![_xmppStream isDisconnected]) { 
     return YES; 
    } 

합니다.

authenticateWithPassword를 수동으로 호출해야합니까? 클라이언트와 서버 간의 연결이 설정되었다고 가정하면 올바른 방법입니까?

감사합니다.

답변

1

대리인의 메서드를 사용하여 인증을 처리해야합니다. 스트림이 서버에 연결되어

[_xmppStream connectWithTimeout:10 error:&error]; 

되면 대리자 메서드가 호출됩니다 : 이미 연결되어 있지 않은 경우 먼저 서버에 연결해야하는 방법 내부

- (void)xmppStreamDidConnect:(XMPPStream *)sender; 

, 당신은 호출 할 수 있습니다 authenticateWithPassword. 스트림이 이전에 연결된 경우 (게시 한 경우 스트림의 다른 부분이됩니다) authenticateWithPassword으로 전화하면됩니다. 인증이 실패하면

은 다음 대리자 메서드가 호출됩니다 :

- (void)xmppStream:(XMPPStream *)sender didNotAuthenticate:(NSXMLElement *)error; 

이 당신이 사용자에게 메시지를 표시하고 다시 시작 결정할 수 있습니다. 인증에 성공하면 다음 메소드가 호출됩니다.

- (void)xmppStreamDidAuthenticate:(XMPPStream *)sender;