2013-08-01 40 views
0

我已經安裝了cordova 3.0.0並創建了一個helloworld項目,並安裝了cordova-plugin-contacts。 科爾多瓦建立helloworld com.example.helloworld的 「HelloWorld」 CD的Helloworld 科爾多瓦平臺添加IOS 科爾多瓦建設 科爾多瓦插件添加https://git-wip-us.apache.org/repos/asf/cordova-plugin-contacts.git'undefined'不是函數(評估'navigator.contacts.chooseContact(onSuccess,選項)')

,並試圖調用navigator.contacts.chooseContact

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

,但得到的Safari瀏覽器這個錯誤網絡檢查員。

+0

我不確定Cordova是如何工作的,但navigator.contacts的控制檯日誌是什麼?這應該顯示chooseContact是暴露/可用。 – techiev2

+0

作爲標題說它是未定義的。 – enRaiser

+0

如果我包含plugins/org.apache.cordova.core.contacts/www/ios/contacts.js,那麼我可以擺脫這個問題。但是接下來會出現一個新問題,它說contacts.js的第57行的其他函數未定義,並且說create是未定義的。var fullContact = require('./ contacts')。create(result); – enRaiser

回答

0

我發現有在科爾多瓦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提出了這個錯誤,讓我們看到當t嘿有更好的解決方案。

+0

這僅適用於3.0還是固定爲3.1?你只在iOS上看到這個嗎?謝謝! – MBillau

相關問題