Добавление и сохранение нового контакта в AddressBook

У меня есть проблема, которую я не могу решить, хотя я использовал ресурсы, которые я нашел в Google и здесь. Меня только начали учить Swift и как использовать Xcode около месяца назад, поэтому я очень новый, и проблема, которую я имею, вероятно, очень проста для других.

что я пытаюсь сделать, это добавить и сохранить новый контакт в адресную книгу. Я могу перейти из приложения в приложение "Контакты" без проблем, просто я не могу сохранить новый контакт информация.

import AddressBookUI
import AddressBook

class ViewController: UIViewController {

    @IBOutlet weak var contactLink: UIButton!

    @IBAction func contactLink(sender: AnyObject) {
        var viewController: ABNewPersonViewController = ABNewPersonViewController()
        self.presentViewController(viewController, animated: true, completion: nil)
    }
}

вот код, который я использую, который относится к моей проблеме. Любая помощь будет оценена.

1 ответов


в настоящее время, вы должны использовать ContactsUI основы. Итак, в Swift 3 Вы можете сделать:

import ContactsUI

class ViewController: UIViewController, CNContactViewControllerDelegate {

    @IBAction func contactLink(_ sender: AnyObject) {
        let controller = CNContactViewController(forNewContact: nil)
        controller.delegate = self
        let navigationController = UINavigationController(rootViewController: controller)
        self.present(navigationController, animated: true)
    }

    func contactViewController(_ viewController: CNContactViewController, didCompleteWith contact: CNContact?) {
        viewController.navigationController?.dismiss(animated: true)
    }

}

мой оригинальный ответ, используя AddressBookUI framework в Swift 2 ниже.


Swift код:

import AddressBookUI

class ViewController: UIViewController, ABNewPersonViewControllerDelegate {

    @IBAction func contactLink(sender: AnyObject) {
        let controller = ABNewPersonViewController()
        controller.newPersonViewDelegate = self
        let navigationController = UINavigationController(rootViewController: controller)
        self.presentViewController(navigationController, animated: true, completion: nil)
    }

    func newPersonViewController(newPersonView: ABNewPersonViewController!, didCompleteWithNewPerson person: ABRecord!) {
        newPersonView.navigationController?.dismissViewControllerAnimated(true, completion: nil);
    }
}

посмотреть запрос пользователя на создание новой записи человека на руководство по программированию адресной книги: взаимодействие с пользователем: запрос и отображение данных.