gpt4 book ai didi

ios - XMPP 在 ios 中更改密码不起作用

转载 作者:行者123 更新时间:2023-11-29 01:21:18 25 4
gpt4 key购买 nike

我正在开发一个基于聊天的应用程序并在我的 openfire 服务器上使用 xmpp,我想在 ios 中添加更改密码功能。我搜索了很多 fopr 更改密码功能(xmpp)并添加了一个更改密码的方法xmpp,但没有这样做。我不知道也没有任何想法,请帮助我,我的更改密码代码如下:

- (void)goOnline
{

if (appDelegate.signInORnot == 1)
{
self.connectionStatus = OTRProtocolConnectionStatusConnected;

NSLog(@"Account totaltrip..%@",account.totalTrip);

[[NSNotificationCenter defaultCenter] postNotificationName:kOTRProtocolLoginSuccess object:self userInfo:[NSDictionary dictionaryWithObject:account.totalTrip forKey:TOTAL_TRIP_KEY]];

XMPPPresence *presence = [XMPPPresence presence]; // type="available" is implicit

//Develop By Payal Done

[[self xmppStream] sendElement:presence];

[self changePassword];
}
-(BOOL)changePassword
{

NSUserDefaults *standardUserDefaults = USERDEFAULT;
NSString *passNew = nil;
if (standardUserDefaults)
passNew = [standardUserDefaults objectForKey:@"Newpwd"];
NSUserDefaults *standardUserDefaults1 = USERDEFAULT;
NSString *emailStr = nil;
if (standardUserDefaults1)
emailStr = [standardUserDefaults1 objectForKey:@"mailId"];


NSUserDefaults *standardUserDefaults2 = USERDEFAULT;
NSString *ID = nil;
if (standardUserDefaults2)
ID = [standardUserDefaults2 objectForKey:@"intglCode"];



ID = [ID stringByAppendingString:@"@openfire.netcluesdemo.com"];
NSLog(@"===passed JID===%@",ID);
//NSString *myPassword = passNew;
if (![_xmppStream isDisconnected]) {
return YES;
}

// NSString *myJID = [USERDEFAULT stringForKey: USERNAME];
// NSString *myPassword = [USERDEFAULT stringForKey: PASSWORD];

//CHANGE JIGAR
NSString *myJID=ID;


NSString *myPassword=passNew;

if (myJID == nil || myPassword == nil) {
return NO;
}

[_xmppStream setMyJID:[XMPPJID jidWithString:myJID]];
account.password = myPassword;
// _xmppRegistration = [[XMPPRegistration alloc] init];
// if([OTRXMPPManager changePassword:myPassword])
// {
// return YES;
// }

return NO;

}

最佳答案

使用以下changePassword:函数更改openfire帐户的用户密码:

-(void)changePassword:(NSString *)newPassword {

NSXMLElement *query = [NSXMLElement elementWithName:@"query" xmlns:@"jabber:iq:register"];

NSXMLElement *username = [NSXMLElement elementWithName:@"username"
stringValue:[self xmppStream].myJID.user];
NSXMLElement *password = [NSXMLElement elementWithName:@"password"
stringValue:newPassword];
[query addChild:username];
[query addChild:password];

NSXMLElement *iq = [NSXMLElement elementWithName:@"iq"];
[iq addAttributeWithName:@"type" stringValue:@"set"];
[iq addAttributeWithName:@"id" stringValue:[[self xmppStream] generateUUID]];
[iq addChild:query];
[[self xmppStream] sendElement:iq];
}

在此函数中,在参数中传递新密码。

关于ios - XMPP 在 ios 中更改密码不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34563544/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com