cordova的cordova-plugin-contacts(插件)不能在ios中搜索phoneNumbers产生正确的结果 . 联系人应用程序中预装了许多联系人 . 我使用的是cordova 5.4.0,插件是cordova-plugin-contacts,并为iOS平台构建应用程序 .

以下是将PhoneNumbers搜索到联系人的代码 .

function findContacts(){
        var options      = new ContactFindOptions();
        options.filter   = "1234567890";
        options.multiple = true;
        options.desiredFields = [navigator.contacts.fieldType.displayName, navigator.contacts.fieldType.name];
        options.hasPhoneNumber = true;

        var fields = [navigator.contacts.fieldType.phoneNumbers];

        navigator.contacts.find(fields, onFindSuccess, onFindError, options);
    }

    function onFindSuccess(contacts) {                
        alert("Contact: " + JSON.stringify(contacts));
    };

    function onFindError(contactError) {
        alert("onError!");
    };

即使与联系人列表中提供的电话号码1234567890联系,它也会返回空阵列 .

在对其他搜索字段进行一些研究之后,在检查整个JSON字符串时,我发现保存在联系人列表中的电话号码具有特定的格式 .

例如:

家:1(234)567-890

工作:0987654321

手机:(678)901-2345

现在,我得到工作电话号码0987654321的结果 . 但是当尝试具有相同格式的家庭电话号码1(234)567-890时,它给出一个空数组 . 我错过了什么吗?

是否有适用于所有类型的电话号码格式的解决方案?