gpt4 book ai didi

ios - XMPPFramework - 创建 vCard

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:37:07 25 4
gpt4 key购买 nike

我使用以下代码创建 vCard 无济于事。它总是在 if block 中。有人可以查看一下我是否遗漏了什么吗?

xmppvCardStorage = [XMPPvCardCoreDataStorage sharedInstance];
xmppvCardTempModule = [[XMPPvCardTempModule alloc] initWithvCardStorage:xmppvCardStorage];
XMPPvCardTemp *myvCardTemp = [xmppvCardTempModule myvCardTemp];

if (!myvCardTemp)
{
NSXMLElement *vCardXML = [NSXMLElement elementWithName:@"vCard" xmlns:@"vcard-temp"];
XMPPvCardTemp *newvCardTemp = [XMPPvCardTemp vCardTempFromElement:vCardXML];
myvCardTemp = newvCardTemp;
}

[myvCardTemp setNickname:@"someNick"];
[myvCardTemp setMiddleName:@"somegender"];
[xmppvCardTempModule updateMyvCardTemp:myvCardTemp];

我已经试过了,但它仍然不起作用...调用以获取 vcard 的函数始终返回 nil。

- (XMPPvCardTemp *)vCardTempForJID:(XMPPJID *)jid shouldFetch:(BOOL)shouldFetch

此函数返回 nil 值。有什么我想念的吗?

另一件事是它向日志发送错误:

保存错误 - Error Domain=NSCocoaErrorDomain Code=1570 “操作无法完成。(Cocoa 错误 1570。)

最佳答案

最后这就是我完成 vcard 编辑的方式

 -(void)Editvcard
{
NSMutableDictionary *getdic = [[NSMutableDictionary alloc] init];
getdic = [[NSUserDefaults standardUserDefaults] valueForKey:@"UservCard"];

NSXMLElement *vCardXML = [NSXMLElement elementWithName:@"vCard" xmlns:@"vcard-temp"];
XMPPvCardTemp *newvCardTemp = [XMPPvCardTemp vCardTempFromElement:vCardXML];
// myvCardTemp = newvCardTemp;
//}
[newvCardTemp setGivenName:[getdic valueForKey:@"username"]];
[newvCardTemp setSortString:[getdic valueForKey:@"status"]];
[newvCardTemp setJid:[XMPPJID jidWithString:[[NSUserDefaults standardUserDefaults] stringForKey:@"kXMPPmyJID"]]];
[newvCardTemp setFormattedName:[getdic valueForKey:@"username"]];
[newvCardTemp setEmailIDnew:[getdic valueForKey:@"emailid"]];


NSString *img_name = [DatabaseAccess documentsPathForFileName:[getdic valueForKey:@"userimage"]];
NSData *pngData = [NSData dataWithContentsOfFile:img_name];

NSString *strThumb = @"";
if([[[UIDevice currentDevice] systemVersion] floatValue] >=7)
{
//Encode Image Data
strThumb = [Base64 encode:pngData];
//strMapThumb = [pngData base64EncodedStringWithOptions:NSDataBase64Encoding64CharacterLineLength];
}
else
{
//Encode Image Data
strThumb = [Base64 encode:pngData];
}

[newvCardTemp setPhoto:strThumb];
[xmppvCardTempModule updateMyvCardTemp:newvCardTemp];


}

希望对你有帮助....

关于ios - XMPPFramework - 创建 vCard,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21397543/

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