Facebook 채팅을 구현하는 응용 프로그램을 만들려고합니다. 나는 모든 지식을 최대한 발휘하여 XMPP를 올바르게 설정했지만, 제대로 작동하지는 않는다.XMPP 인증은 예를 반환하지만 XMPPStreamDidAuthenticate는 결코 호출되지 않습니다.
사용자가 로그인하여 페이스 북에 인증 된 후 (FBSession
경유) 채팅 서비스에 연결하려고합니다. XMPP이 들어오는 곳 여기입니다 : 위의를 실행하는 경우
-(void)connect
{
[self setupStream];
NSError *err;
[self.xmppStream connectWithTimeout:10.00 error:&err];
}
-(void)setupStream
{
_xmppStream = [[XMPPStream alloc] initWithFacebookAppId:FACEBOOK_APP_ID];
[self.xmppStream addDelegate:self delegateQueue:dispatch_get_main_queue()];
}
- (void)xmppStreamDidConnect:(XMPPStream *)sender {
NSError *error;
NSError *err;
[self.xmppStream secureConnection:&err];
bool authed = [self.xmppStream authenticateWithFacebookAccessToken: FBSession.activeSession.accessTokenData.accessToken error:&error];
NSLog(@"%@", err);
NSLog(@"%@", [self.xmppStream authenticationDate]);
NSLog(@"%d, %@", authed, error);
}
- (void)xmppStreamDidAuthenticate:(XMPPStream *)sender {
NSLog(@"did authenticate");
[self goOnline];
}
, 다 잘 갈 것 같다 xmppStreamDidConnect
짧은 대기 후라고하며 authed
항상 YES를 반환하고 오류가 항상 null
입니다.
그러나 secureConnection
은 을 반환합니다. 오류 도메인 = XMPPStreamErrorDomain 코드 = 1 "스트림이 연결될 때까지 기다려주십시오." UserInfo = 0xb23dc30 {NSLocalizedDescription = 스트림이 연결될 때까지 기다려주십시오.}authenticationDate
은 항상 null
입니다. 또한 xmppStreamDidAuthenticate
을 포함하여 다른 대리자 메서드도 호출되지 않습니다. 내가 도대체 뭘 잘못하고있는 겁니까?
실제 질문과 관련하여이 답변이 무엇입니까? – p0lAris