我想在我的iOS App中实现XMPP框架,我已经完成了所有的事情(与其他用户聊天,显示其他用户的存在等)
但问题是,我无法从我的应用程序中注册新用户.我正在使用以下代码,
if ([appDel.xmppStream supportsInBandRegistration])
[appDel.xmppStream registerWithPassword:txt_Password.text error:nil];
Run Code Online (Sandbox Code Playgroud)
但是对于这个,supportsInBandRegistration方法总是返回NO而我不会被调用方法永远不会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");
}
Run Code Online (Sandbox Code Playgroud)
我在didNotAuthenticate:方法中声明了registerWithPassword:error:方法,因为在连接到服务器后,它将通过这个didNotAuthenticate方法通过我的注册方法工作正常
| 归档时间: |
|
| 查看次数: |
2913 次 |
| 最近记录: |