我已在离子应用中实施了联系人同步功能,可将云联系人同步到iOS手机通讯录中并使用cordova联系人插件。
同时添加多个联系人时会导致冻结整个UI,直到联系人无法添加。下面是我的代码。
import { Component } from '@angular/core';
import { Contacts, Contact, ContactField, ContactName } from '@ionic-native/contacts';
...
export class SyncExample {
public cloudContacts:any=[]; // Cloud contacts
constructor(private contacts: Contacts) {}
ngOnInit(){
// Didn't wrote logic for fetch cloudContacts
this.cloudContacts.forEach((contact)=> {
this.saveContact(contact);
})
}
saveContact(cloudContact){
let allNumbers = [], emails = [];
let contact:any = this.contacts.create();
allNumbers.push(new ContactField('main', cloudContact.phone));
emails.push(new ContactField('main', cloudContact.email))
contact.name = new ContactName(null, cloudContact.first_name, cloudContact.last_name);
contact.phoneNumbers = allNumbers;
contact.emails = emails;
contact.save().then((res)=>{ //Works perfect when having only one contact in cloudContacts
console.log('Contact saved!');
}, (err)=> {
console.log('Error saving contact', err);
})
}
}
上面的代码只有一个联系人,但多一个联系人冻结整个UI,并且在添加所有联系人之前无法使用应用程序
经过大量搜索,我发现cordova-plugin-contacts已被弃用,不再支持修复错误。
here是我面临的相关问题。
有没有解决方案可以获得它?
仅供参考:Android运行良好。
如果有人能帮助我,那将是非常好的。