簡體   English   中英

無法在XMPP聊天應用程序中注冊用戶

[英]Unable to register user in xmpp chat app

我想在我的iOS應用程序中實現XMPP框架,我已經完成了(與其他用戶聊天,顯示其他用戶的存在等)中的所有內容。

但是問題是,我無法從我的App中注冊新用戶。 我為此使用以下代碼,

if ([appDel.xmppStream supportsInBandRegistration])
    [appDel.xmppStream registerWithPassword:txt_Password.text error:nil];

但是,為此,supportsInBandRegistration方法始終返回NO,並且我不會調用該方法never registerWithPassword:。

如果有可用的解決方案,請幫助我

您正在使用什么服務器? 某些服務器甚至支持未按規定發送帶流注冊功能,即XEP-0077規定的功能。 但是,大多數人應該在迪斯科結果中賦予該功能。

----或----您可以通過以下代碼解決此問題。 對我來說很好。

- (void)xmppStream:(XMPPStream *)sender didNotAuthenticate: 
(NSXMLElement *)error; 
{ 
NSLog(@"Did not authenticate"); 

 [xmppStream registerWithPassword:[[NSUserDefaults 
standardUserDefaults] stringForKey:@"userPassword"] error:nil]; 

NSError * err = nil; 

if(![[self xmppStream] registerWithPassword:password error:&err]) 
{ 
    NSLog(@"Error registering: %@", err); 
} 

} 
- (void)xmppStreamDidRegister:(XMPPStream *)sender{ 

NSLog(@"I'm in register method"); 

    } 

- (void)xmppStream:(XMPPStream *)sender didNotRegister:(NSXMLElement 
*)error{ 
NSLog(@"Sorry the registration is failed"); 

} 

我在didNotAuthenticate:方法中聲明了registerWithPassword:error:方法,因為在連接到服務器后,它將通過我的注冊方法正常工作的地方轉到此didNotAuthenticate方法

我有一個相同的問題,即[xmppStream supportsInBandRegistration]方法返回false,因為我正在傳遞已經在服務器中注冊的[xmppStream supportsInBandRegistration]

[xmppStream setMyJID:[XMPPJID jidWithString:jabberID]];

更改JID對我有用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM