我正在将联系人集成到我的应用程序中。在我的应用程序中,我希望通知用户是否已经存在他们要添加的联系人,以免他们添加重复的联系人。我正在尝试使用contactUI,以便用户可以使用熟悉的ContactViewController添加新联系人。我尝试了forUnknownContact实例化,但仅在您已经有要传递的联系人的情况下才提供接口。
let controller = CNContactViewController(forUnknownContact: l_contact)
controller.delegate = self
self.navigationController?.pushViewController(controller, animated: true)
self.navigationController?.pushViewController(controller, animated: true)
唯一的问题是,该框架似乎仅允许访问在didCompleteWith函数中的联系人保存后用户输入的内容,这为时已晚。
func contactViewController(_ viewController: CNContactViewController,
didCompleteWith contact: CNContact?) {
guard let nc = navigationController else {return}
// whatever happens, pop back to our view controller
defer{nc.popViewController(animated:true)}
guard let contact = contact else{
print("The contact creation was cancelled")
return
}
我希望做的是在输入给定的姓名和姓氏之后截取该条目,并对联系人进行检查以查看其是否存在,然后为用户提供使用现有联系人而不是添加新联系人的功能。
我可以使用自己的View Controller来执行此操作,但是如果不需要,我讨厌管理额外的View Controller。
感谢您的输入。