我需要在vcard文件中包含图像。图像应该是二进制格式。我按如下方式创建图像数据:
NSData *imageData = UIImageJPEGRepresentation([UIImage imageNamed:@"Pic1"], 1.0);
我使用以下两种方法尝试编码失败:
vcardString = [vcardString stringByAppendingFormat:@"PHOTO;ENCODING=b;TYPE=JPEG:%@\n", [imageData base64EncodedString]];
和
vcardString = [vcardString stringByAppendingFormat:@"PHOTO;ENCODING=b;TYPE=JPEG:%@\n", [imageData description]];
有关如何将图像数据正确编码为二进制的任何建议都将受到赞赏。感谢
答案 0 :(得分:1)
根据to this blog entry I found(指向this spec),看起来你想要做的第二种形式应该起作用。
将您的ENCODING=b
更改为ENCODING=BASE64
,看看是否有所不同。
答案 1 :(得分:1)
OS X v10.11和iOS 9引入了CNContactVCardSerialization,极大地简化了在VCard中嵌入图像的过程。