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
Hast du eine Vorstellung davon, was passiert? Jede Hilfe würde sehr geschätzt werden!
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!