我不知道如何從地址簿創建vCard。我可以通過搜索爲vCard數據生成NSString,但我不知道如何將NSString轉換爲.vcf。這是我的vCard數據的NSString的代碼。如何使用ios sdk從地址簿創建vCard?
NSString *vcard = @"BEGIN:VCARD\nVERSION:3.0\n";
// Name
vcard = [vcard stringByAppendingFormat:@"N:%@;%@;%@;%@;%@\n",
(contact.lastname ? contact.lastname : @""),
(contact.firstname ? contact.firstname : @""),
(contact.middlename ? contact.middlename : @""),
(contact.prefix ? contact.prefix : @""),
(contact.suffix ? contact.suffix : @"")
];
vcard = [vcard stringByAppendingFormat:@"FN:%@\n",contact.compositeName];
if( contact.nickname) vcard = [vcard stringByAppendingFormat:@"NICKNAME:%@\n",contact.nickname];
if( contact.firstnamephonetic) vcard = [vcard stringByAppendingFormat:@"X-PHONETIC-FIRST-NAME:%@\n",contact.firstnamephonetic];
if( contact.lastnamephonetic) vcard = [vcard stringByAppendingFormat:@"X-PHONETIC-LAST-NAME:%@\n",contact.lastnamephonetic];
// Work
if(contact.organization || contact.department) vcard = [vcard stringByAppendingFormat:@"ORG:%@;%@\n",(contact.organization?contact.organization:@""),(contact.department?contact.department:@"")];
if(contact.jobtitle) vcard = [vcard stringByAppendingFormat:@"TITLE:%@\n",contact.jobtitle];
// Mail
vcard = [vcard stringByAppendingString:[VCard toVcardField:@"email" items:contact.emailArray labels:contact.emailLabels]];
// Tel
vcard = [vcard stringByAppendingString:[VCard toVcardField:@"phone" items:contact.phoneArray labels:contact.phoneLabels]];
// Adress
vcard = [vcard stringByAppendingString:[VCard toVcardField:@"address" items:contact.addressArray labels:contact.addressLabels]];
// url
vcard = [vcard stringByAppendingString:[VCard toVcardField:@"url" items:contact.urlArray labels:contact.urlLabels]];
// IM
vcard = [vcard stringByAppendingString:[VCard toVcardField:@"im" items:contact.smsArray labels:contact.smsLabels]];
// birthday
NSDate *birthday = contact.birthday;
if (birthday)
{
NSString *bday = [NSString stringWithFormat:@"%@",birthday];
NSArray *bdayArr = [bday componentsSeparatedByString:@" "];
bday = [bdayArr objectAtIndex:0];
vcard = [vcard stringByAppendingFormat:@"BDAY;value=date:%@\n",bday];
}
// Photo
NSData *imageData = contact.thumbData;//contact.imageData;
if (imageData)
{
//vcard = [vcard stringByAppendingFormat:@"PHOTO;BASE64:%@\n",[imageData base64Encoding]];
}
// end
vcard = [vcard stringByAppendingString:@"END:VCARD"];
,我得到的NSString作爲輸出:
vCard : BEGIN:VCARD
VERSION:3.0
N:def;Abc;;;
FN:Abc def
ORG:slk;
EMAIL;type=INTERNET;type=HOME:[email protected]
TEL;type=CELL:(258) 963-4889
TEL;type=IPHONE:(435) 768-6343
item1.ADR;type=HOME:;;aashram road;Ahmedabad;;;India
item1.X-ABADR:in
END:VCARD
任何人可以幫助我這個的NSString .VCF文件來獲得電子名片轉換?
http://stackoverflow.com/questions/2795615/generate-vcard-from-addressbook-framework – Hanuman
您好,感謝您提出的問題,因爲我的工作在同樣的事情,但你能幫我我怎樣才能將這個.vcf導出到特定的電子郵件,我如何將這個.vcf文件附加到電子郵件感謝提前 –
你可以告訴我什麼'[VCard toVcardField:@「email」項目:contact.emailArray標籤:contact.emailLabels]'這是任何默認方法? – Surfer