Cleaver (PhoneGap / Cordova als Komponente) funktioniert nicht in iOS

8

Ich habe versucht Cleaver zu verwenden, das ist PhoneGap / Cordova als Komponente einer bestehenden iOS-Anwendung. Ich folgte diesem Schritt für Schritt Anleitung zweimal, ohne Erfolg.

Meine Anwendung kann leicht eine Webansicht instanziieren, und ich kann Inhalte mit der Methode stringbyevaluatingjavascriptfromstring an sie übergeben, aber sobald ich versuche, auf die PhoneGap API ( navigator.compass, navigator.network, ... ) zuzugreifen, scheint nichts zu funktionieren. console.log(navigator) zeigt keine Anzeichen von Cordova-Objekten ( console.log gibt nichts aus, ist Xcode, ich verwende Ссылка ). Das Ereignis deviceready wird ebenfalls nicht ausgelöst.

In meiner HTML-Datei schließe ich PhoneGap js-Datei cordova-1.7.0rc1.js ein, die ich aus einem anderen Projekt kopiert habe (da /www Ordner fehlt, wenn Sie PhoneGap als Komponente verwenden).

Mein ViewController.h importiert <Cordova/CDVViewController.h> . Hier mein ViewController.m

%Vor%

Hast du eine Vorstellung davon, was passiert? Jede Hilfe würde sehr geschätzt werden!

    
Brad Flower 29.06.2012, 15:40
quelle

2 Antworten

1

Okay, nach vielen Stunden, in denen ich versucht habe, dieses Problem zu lösen, habe ich endlich herausgefunden, was schief läuft. Dies ist die Zeile, die Dinge vermasselt hat:

%Vor%

Sie können nicht einfach den Delegaten der Web-Ansicht der Ansichts-Controller überschreiben. Der ursprüngliche Delegat verfügt über einen Instanziierungscode, mit dem PhoneGap ausgeführt werden kann. Überschreibe es nicht und alles wird gut!

    
Brad Flower 03.07.2012, 09:34
quelle
0

Wenn Sie über Webeview-Ereignisse benachrichtigt werden möchten, ohne Cordova zu brechen, können Sie Folgendes versuchen:

%Vor%

Verwendung wie folgt:

%Vor%

Ich habe das nicht getestet, also sollten Sie vorsichtig sein.

    
bompf 03.04.2014 11:15
quelle

Tags und Links