XMPPFrameWork IOS 개발(3) 로그인

2811 단어 framework
원래 주소: XMPPFrameWork IOS 개발(3)
XMPP에서 자주 사용하는 객체:
 
XMPPStream: xmpp 기본 서비스 클래스
 
XMPProster: 친구 목록 클래스
 
XMPPRosterCoreDataStorage: 친구 목록(사용자 계정) 코어 데이터에서의 조작 클래스
 
XMPPvCardCoreDataStorage: 친구 명함(닉네임, 서명, 성별, 나이 등 정보) 코어 데이터에서의 조작 클래스
XMPPvCardTemp: 친구 명함 실체류, 데이터베이스에서 꺼낸 것은 모두
xmppvCardAvatarModule: 친구 프로필 사진
 
XMPPreconnect: 연결이 끊어지면 자동으로 재연결
XMPPRoom: 다중 사용자 채팅 지원
XMPPPubSub: 게시 구독
첫 번째 단계는 xmppstream 대상을 생성하고 의뢰를 설정합니다
 
 
-(void)setupStream{  
      
    // XMPPStream  
    xmppStream = [[XMPPStream alloc] init];  
    [xmppStream addDelegate:self delegateQueue:dispatch_get_current_queue()];  
      
}

 
 
두 번째 단계는 로그인 계정 이름과 서버 이름을 설정하고 연결합니다
 
-(BOOL)connect{  
      
    [self setupStream];  
      
    // ,   
    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];  
      
    NSString *userId = [defaults stringForKey:USERID];  
    NSString *pass = [defaults stringForKey:PASS];  
    NSString *server = [defaults stringForKey:SERVER];  
      
    if (![xmppStream isDisconnected]) {  
        return YES;  
    }  
      
    if (userId == nil || pass == nil) {  
        return NO;  
    }  
      
    //   
    [xmppStream setMyJID:[XMPPJID jidWithString:userId]];  
    //   
    [xmppStream setHostName:server];  
    //   
    password = pass;  
      
    //   
    NSError *error = nil;  
    if (![xmppStream connect:&error]) {  
        NSLog(@"cant connect %@", server);  
        return NO;  
    }  
      
    return YES;  
  
}  

서버 연결
 
 
// , ( )

- (void)xmppStreamWillConnect:(XMPPStream *)sender , 

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

{

    NSError *error = nil;

    // 

    NSString *password = @"test1";

    BOOL bRes =  [_xmppStream authenticateWithPassword:password error:&error];

}

 
계정 확인
// 

- (void)xmppStreamDidAuthenticate:(XMPPStream *)sender

{

    XMPPPresence *presence = [XMPPPresencepresence];
    // , , 
    [[selfxmppStream] sendElement:presence];// 

}

// 

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

 

좋은 웹페이지 즐겨찾기