contactViewController didCompleteWith联系是零

时间:2017-03-01 04:52:06

标签: ios abaddressbook

我正在尝试添加一个复制现有联系人值的新联系人。

if let mutableContact = self.editingCard?.contact.mutableCopy() as? CNMutableContact {
    let editCardViewController = CNContactViewController(for: mutableContact)
    editCardViewController.contactStore = CNContactStore()
    editCardViewController.title = "Edit Card"
    editCardViewController.delegate = self
    self.present(UINavigationController(rootViewController: editCardViewController), animated: true, completion: nil)
}

显示的Contact View Controller很好。它显示联系人预先填写的详细信息。但是,单击“完成”后,将以零联系引用调用回调。即

func contactViewController(_ viewController: CNContactViewController, didCompleteWith contact: CNContact?) {
    print("Completed adding card \(contact)")
}

有什么迹象表明我做错了什么?

1 个答案:

答案 0 :(得分:0)

这似乎是因为CNMutableContact对象上格式错误的信息而发生的。在我的例子中,日期(生日,周年纪念日和其他日期)在日期对象上设置了分钟,秒。根据{{​​3}},该用例无效。

对于可能会看到此问题的任何人,调试您正在设置的所有信息将有助于了解CNMutableContact引用中任何格式错误的信息。