Pracuję nad niestandardowym tworzeniem wtyczek Phonegap/Cordova (wersja 2.9.0) na iOS. Moje kroki są następujące:Wtyczka PhoneGap dla iOS powraca NIEPOWODZONA wtyczka JSON
stworzyłem plik HelloPlugin.js i skopiować je na www/js/folderu, jego konieczności Kod:
var HelloPlugin = { callNativeFunction: function (success, fail, resultType) { alert('a'); return Cordova.exec(success, fail, "HelloPlugin", "nativeFunction", ['1']); } };
stworzyłem HelloPlugin.h i HelloPlugin. pliki m poniżej folderze wtyczek, kod:
// .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
I dodaje następujący kod do pliku config.xml:
<feature name="HelloPlugin"> <param name="ios-package" value="CDVPlugin"/> </feature>
W końcu zmodyfikowane index.html w następujący sposób:
- odniesienia Script dodaje.()
kod JS dodane: dodano
function callNativePlugin(returnSuccess) { HelloPlugin.callNativeFunction(nativePluginResultHandler, nativePluginErrorHandler, returnSuccess); } function nativePluginResultHandler (result) { alert("SUCCESS: \r\n"+result); } function nativePluginErrorHandler (error) { alert("ERROR: \r\n"+error); }
dwa przyciski i funkcja o nazwie:
"callNativePlugin ('sukces');" "callNativePlugin (" błąd ");"
Mam nadzieję, że jest to jedyne wymagane rzeczy muszę zrobić do aktywacji wtyczki.
Problem: Podczas uruchamiania aplikacji pojawia się komunikat o błędzie pluginJSON na konsoli.
wyjściowa:
- [CDVCommandQueue executePending] [Linia 116] Błędy pluginJSON = [ "HelloPlugin2650437", "HelloPlugin" "nativeFunction" [ "1", "1" "1" ] ]
Jakiego błędu dokonałem, proszę dać mi znać. Naprawdę doceniam twoje wysiłki. Proszę, pomóżcie mi tutaj.
To zadziałało dla mnie ... :) –
To działało również dla mnie .. thanx !! :) –
Pracowałem dla mnie bardzo dziękuję. Pracowałem z wieloma wersjami Cordova, które dały mi ten problem dla tej samej wtyczki. – satheeshwaran