В настоящее время я работаю над проектом SwiftUI и пытаюсь получить номера телефонов контактов пользователя.
Я успешно собрал контакты и могу распечатать их givenName
, а также familyName
, но у меня возникли проблемы при попытке работать с контактами phoneNumbers
.
Вот ядро рабочего кода, используемого для печати givenName
:
store.enumerateContacts(with: request, usingBlock: {
(contact, stopPointer) in print(contact.givenName)
})
Использование { ссылка } в качестве примера для работы, вот как я пытаюсь распечатать контакты phoneNumbers
:
store.enumerateContacts(with: request, usingBlock: {
(contact, stopPointer) in contact.
for phone in contact.phoneNumbers {
var label = phone.label
if label != nil {
label = CNLabeledValue<CNPhoneNumber>.localizedString(forLabel: label!)
}
print(" ", label, phone.value.stringValue)
}
})
Попытка перебрать contact.phoneNumbers достаточно, чтобы вызвать следующую ошибку с очень длинной трассировкой стека:
подключение к службе на pid 88497 с именем com.apple.contactsd: исключение обнаружено во время вызова блока ответа на сообщение 'encodedContactsAndCursorForFetchRequest: withReply: '.
Игнорируемое исключение: свойство не запрашивалось при получении контакта.