2014-01-28 2 views
2

다음 코드를 사용하여 vCard를 만들지 않았습니다. 항상 if 블록으로갑니다. 누군가 내가 그것을 놓치고 있는지보기 위해 그것을 들여다 볼 수 있습니까?XMPPFramework - vCard 만들기

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를 얻을 호출되는 함수는 항상 전무를 반환합니다.

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

이 기능은 전무 값을 반환합니다. 내가 누락 된 것이 있습니까?

다른 한 점은 로그에 오류를 전송하는 것입니다 :

Error saving - Error Domain=NSCocoaErrorDomain Code=1570 "The operation couldn’t be completed. (Cocoa error 1570.)

+0

안녕하세요 당신은 이것에 대한 해결책을 찾았습니까? – esh

답변

1

마지막으로이 내가

-(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]; 


} 

가 당신을 도움이되기를 바랍니다 vCard를 편집을 수행 한 방법입니다 ...