我尝试使用方法CNContactVCardSerialization.dataWithContacts()
将CNContact数组转换为vCard。但它给了我以下错误。
2016-07-25 14:05:00.115 AddressBook-ios9[902:28918] Exception writing contacts to vCard (data): A property was not requested when contact was fetched.
我确保我传递了一个有效的CNContacts数组,但它仍然给出了这个异常。任何人都可以向我指导我做错了吗?
我附上了以下源代码。
func getVcardFromSearchingName(name: String) -> NSData? {
do {
if let contacts = searchMultiContacts(name) {
print(contacts)
let vCard = try CNContactVCardSerialization.dataWithContacts(contacts)
return vCard
} else {
return nil
}
} catch {
return nil
}
}
答案 0 :(得分:3)
我发现了我的错误。在获取联系人的密钥上,我遗漏了CNContactVCardSerialization.descriptorForRequiredKeys()
。添加后,代码运行完美。