Как сохранить контакты на локальном устройстве ios, используя язык swift? - PullRequest
0 голосов
/ 02 мая 2019

Я вызываю функцию addContacts (см. Код) в viewWillAppear.

Я хочу, чтобы при запуске кода значения, которые я указывал в строках firstName и lastName, сохранялись как контакты в встроенном-в приложении iOS для контактов.

Он работает в симуляторе, но не попадает в нужный раздел.Например, если я передаю «David» и «Ginger» в качестве строк firstName и lastName, он добавляет контакт «David Ginger» в приложение, но попадает в раздел «#», а не в раздел «D» (или даже «G»).msgstr "раздел по умолчанию сортировка в приложении контактов осуществляется по фамилии).Более того, это не работает на моем iPhone.Я даже дал кнопку, которая будет реализовывать функцию при нажатии, но она не работает.

PS - Я пытаюсь разработать приложение для контактов, встроенное в iOS, например, приложение.

Я много искал в интернете и, учитывая то, что упомянуто на сайте разработчика Apple, моя функция в значительной степени правильная.Я не смог найти ничего полезного в Интернете.

addContacts() {
        let store = CNContactStore()
        let storeMutable = CNMutableContact()
        storeMutable.namePrefix = firstName
        storeMutable.nameSuffix = lastName
        let saveRequest = CNSaveRequest()
        saveRequest.add(storeMutable, toContainerWithIdentifier: nil)
        try! store.execute(saveRequest)
}

//calling this function in viewWillAppear

override func viewWillAppear(_ animated: Bool) {
        super.viewWillAppear(true)
        fetchContacts()
        addContacts()
}

Я хочу, чтобы мое приложение постоянно сохраняло контакт на локальном устройстве.Так же, как встроенное приложение контактов.

1 Ответ

2 голосов
/ 02 мая 2019

моя функция в значительной степени правильная

Нет, это не так. Вы неправильно поняли свойства CNContact. У вашего контакта нет имени; , поэтому он не сортируется среди контактов, у которых do есть имя. Итак, начните с того, что дайте ему имя Изменение

    storeMutable.namePrefix = firstName
    storeMutable.nameSuffix = lastName

К

    storeMutable.givenName = firstName
    storeMutable.familyName = lastName
...