Я пишу приложение Ionic, которое использует собственные контакты ionic (на основе cordova-plugin-contacts) для добавления и обновления контактной информации.
Добавление нового контакта (создание) работает отлично, но как только я пытаюсь сохранить (обновить существующего пользователя), он игнорирует часть моего ввода (массивы?) И сохраняет старый после сохранения. Мое первое предположение заключалось в том, что возникла проблема с параметрами url и ims, но похоже, что эта проблема возникает со всеми массивами, а не со строковыми элементами.
Как воспроизвести:
let find = new ContactFindOptions()
find.filter = 0 // Some ID
let contact = await this.contacts.find(["id"], find)
contact.note = 'New note' // This works
contact.urls = [new ContactField("SomeValue", "http://www.example.com")] // This does not work
console.info(contact)
let result = await contact.save()
console.info(result)
В результате отобразится «обновленное» содержимое, и вы заметите, что URL-адреса равны нулю, пока было установлено примечание. То же самое я заметил по электронной почте. Таким образом, он просто игнорирует мой ввод и сохраняет старую информацию для всех параметров массива.
Это ошибка в контактах Cordova (я использую последнюю версию и пробовал версию нескольких выпусков назад с тем же результатом) или я что-то делаю не так?
Я создал простое приложение для ионного тестирования, которое точно показывает, какие действия терпят неудачу: https://github.com/Bramzor/ionic-native-contacts-tests





Я тоже заметил эту проблему. Я просто удалил старый контакт и создал его как новый с обновленной / дополнительной информацией.