[英]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.