Я собираюсь программно создать новое хранилище контактов и сохранить в нем контакты в Swift.
При попытке сохранить контакт и с помощью toContainerWithIdentifier:
я передал строковое значение в контейнерИдентификатор однако я получаю следующую ошибку:
Тема 1: Неустранимая ошибка: 'try!'В выражении неожиданно возникла ошибка: Ошибка Domain = CNErrorDomain Code = 200 «Обновленная запись не существует» UserInfo = {CNInvalidRecordIdentifiers = (Local), NSLocalizedDescription = Обновленная запись не существует, NSLocalizedFailureReason = Запрос сохранения не выполнен, поскольку он обновляет запись, которая выполняетне существует или уже был удален.}
Если я использую этот код toContainerWithIdentifier:nil
, контакт сохраняется правильно в хранилище по умолчанию, поэтому я знаю, что с моим кодом сохранения нет проблем.
Это довольно простой тест, связанный с кнопкой.Если я использую что-то еще в toContainerWithIdentifier
, кроме nil
, я получаю ошибку.
@IBAction func testAdd(_ sender: UIButton) {
contact.givenName = "John"
contact.familyName = "Appleseed"
let store = CNContactStore()
let saveRequest = CNSaveRequest()
saveRequest.add(contact, toContainerWithIdentifier:nil)
try! store.execute(saveRequest)
}