В некоторых случаях это невозможно (исправить третьи стороны) из-за аппаратных правил ограничения. Например, хранение данных vCard в записях NDEF, написанных на NFC-теге. Слишком дорого заполнять каждое поле подстрокой CHARSET = UTF-8.
я есть строка V-Card с именемAndré
и я инициализируюCNContact
с V-картой.
BEGIN:VCARD
VERSION:2.1
N:Foo;André;;;
FN:André Foo
TEL;CELL:00023 4474848
END:VCARD
Я инициализирую контакт с необработанной строкой так:
if let data = string.data(using: .utf8) {
do {
let contacts = try CNContactVCardSerialization.contacts(with: data)
let contact = contacts.first
return contact
} catch {
print("Data is not a VCard")
}
}
Но когда я распечатаю сырую строкуcontact.givenName
Я получил:
André
Как я могу получить правильную строку фреймворка Contacts в iOS?