XMPPFrameWork IOS 개발(3) 로그인
2811 단어 framework
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
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Fragmenta의 각서라고 할까, 그것 밖에 발견되지 않았기 때문에 시도해보기로 했습니다. 다만, 내용을 보면 어플리케이션을 만드는 프레임워크로서 사용되는 것도 의식하고 있는 것 같습니다. 하지만, 지금은 정확하지 않은 것 같기 때문에,...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.