'undefined'不是函数(评估'navigator.contacts.chooseContact(onSuccess,options)')

时间:2013-08-01 06:10:11

标签: cordova contactpicker

我已经安装了cordova 3.0.0并创建了一个helloworld项目,并安装了cordova-plugin-contacts。     cordova创建Helloworld com.example.helloworld“Helloworld”     cd Helloworld     cordova平台添加ios     科尔多瓦建造     cordova插件添加https://git-wip-us.apache.org/repos/asf/cordova-plugin-contacts.git

并尝试拨打navigator.contacts.chooseContact

function contactChooser(){
    var options = new ContactFindOptions();
    options.fields = ["displayName", "name", "emails", "phoneNumbers"];
    navigator.contacts.chooseContact( onSuccess, options);
}

但在safari Web检查器上出现此错误。

1 个答案:

答案 0 :(得分:0)

我发现cordova 3.0.0中存在一个错误,(我提出)命名空间正在发生冲突 org.apache.cordova.core.contacts.cotancts

对此的正确解决方案如下 编辑org.apache.cordova.core.contacts / plugin.xml并将联系人替换为contactxxx,如下所示

    <js-module src="www/ios/contacts.js" name="contacts_ios">
        <merges target="navigator.contacts" />
    </js-module>

    <js-module src="www/ios/Contact.js" name="Contact_ios">
        <merges target="Contact" />
    </js-module>

并且所有问题都消失了

我在https://issues.apache.org/jira/browse/CB-4599提出了这个错误,让我们看看他们是否有更好的解决方案。