Sto lavorando a una creazione di plug-in personalizzato PhoneGap/Cordova (versione 2.9.0) per l'app iOS. I miei passi sono i seguenti:Plugin PhoneGap per ios che restituisce il plugin FAILEDJSON
ho creato un file HelloPlugin.js e copiare sotto www// cartella js, il suo avere il codice:
var HelloPlugin = { callNativeFunction: function (success, fail, resultType) { alert('a'); return Cordova.exec(success, fail, "HelloPlugin", "nativeFunction", ['1']); } };
ho creato HelloPlugin.h e HelloPlugin. file m sotto la cartella plugins, codice:
// .h #import <Cordova/CDVPlugin.h> @interface HelloPlugin : CDVPlugin - (void)nativeFunction:(CDVInvokedUrlCommand*)command; @end // .m #import "HelloPlugin.h" @implementation HelloPlugin - (void)nativeFunction:(CDVInvokedUrlCommand*)command { NSLog(@"Hello, this is a native function called from PhoneGap/Cordova!"); } @end
ho aggiunto seguente codice al file config.xml:
<feature name="HelloPlugin"> <param name="ios-package" value="CDVPlugin"/> </feature>
Finalmente ho modificato index.html in modo seguente:
- riferimento Script aggiunto.()
codice JS aggiunto:
function callNativePlugin(returnSuccess) { HelloPlugin.callNativeFunction(nativePluginResultHandler, nativePluginErrorHandler, returnSuccess); } function nativePluginResultHandler (result) { alert("SUCCESS: \r\n"+result); } function nativePluginErrorHandler (error) { alert("ERROR: \r\n"+error); }
due pulsanti aggiunti e funzione chiamata:
"callNativePlugin ('successo');" "callNativePlugin ('error');"
Spero che questa è l'unica cose necessarie che devo fare per attivare plugin.
Problema: durante l'esecuzione dell'app, ricevo l'errore pluginJSON FALLITO sulla console.
uscita:
- [CDVCommandQueue executePending] [Linea 116] Impossibile pluginJSON = [ "HelloPlugin2650437", "HelloPlugin", "nativeFunction", [ "1", "1", "1" ] ]
Che errore ho fatto, per favore fatemelo sapere. Apprezzo davvero i tuoi sforzi. Per favore aiutami qui.
Ha funzionato per me ... :) –
Ha funzionato anche per me .. grazie !! :) –
Ha lavorato per me grazie mille. Stavo lavorando con più versioni di Cordova che mi ha dato questo problema per lo stesso plugin. – satheeshwaran