Swift 3通过电话和电子邮件信息添加新联系人

时间:2017-01-20 04:10:13

标签: ios swift xcode swift3 contacts

我正在尝试提示用户创建新联系人并传入信息。 (特别是电话和电子邮件)

我发现了许多使用CNMutableContact并向其添加电子邮件的示例。但是,任何涉及CNContact的代码都会给我一个“使用未声明的类型”错误。

如何设置我的课程以提示用户保存联系人?

3 个答案:

答案 0 :(得分:14)

import ContactsUI

//add CNContactViewControllerDelegate to your ViewController
class ViewController: UIViewController , CNContactViewControllerDelegate {

func addPhoneNumber(phNo : String) {
  if #available(iOS 9.0, *) {
      let store = CNContactStore()
      let contact = CNMutableContact()
      let homePhone = CNLabeledValue(label: CNLabelHome, value: CNPhoneNumber(stringValue :phNo ))
      contact.phoneNumbers = [homePhone]
      let controller = CNContactViewController(forUnknownContact : contact)
      controller.contactStore = store
      controller.delegate = self
      self.navigationController?.setNavigationBarHidden(false, animated: true)
      self.navigationController!.pushViewController(controller, animated: true)
  }
}

答案 1 :(得分:3)

你可以做这样的事。

extension ViewController: CNContactViewControllerDelegate {

    func showNewContactViewController() {

        let contactViewController: CNContactViewController = CNContactViewController(forNewContact: nil)
        contactViewController.contactStore = CNContactStore()
        contactViewController.delegate = self
        let navigationController: UINavigationController = UINavigationController(rootViewController: contactViewController)
        present(navigationController, animated: false) {
            print("Present")
        }
    }
}

答案 2 :(得分:1)

快捷键4

vh

实现委托import ContactsUI

CNContactViewControllerDelegate