2017-05-05 2 views
0

Ich versuche eine App für iOS und Android mit PhoneGap zu entwickeln, bin aber mit einem Problem konfrontiert, für das ich keine Antwort zu finden scheint. Es ist wahrscheinlich ein Anfängerfehler, aber vielleicht kann mich jemand in die richtige Richtung weisen. Hier ist meine Umgebung:PhoneGap config.xml - Hinzufügen von Plugins funktioniert nicht

1) PhoneGap-Version ist 6.5.0. Cordova Version Ich habe gerade ein Upgrade auf 7.0.0 durchgeführt.

2) OS X El Capitan (10.11).

3) PhoneGap Entwickler App auf dem iPhone mit iOS installierte 10.

4) Hallo Welt Beispielanwendung (aber es funktioniert nicht mit meiner realen Anwendung als auch in der gleichen Art und Weise).

Das Problem ist, dass, wenn ich ein neues Plugin zu config.xml hinzufügen, im Projekt Stammordner, dann sehe ich das Plugin wird in den Plugins-Ordner heruntergeladen, aber ich kann nicht immer eine Instanz davon erhalten das Gerät hat ausgelöst.

Zum Beispiel, wenn ich dies config.xml hinzu:

<plugin name="cordova-plugin-ace" spec="https://github.com/microsoft/ace.git" /> 

Wenn die App bis zu meinem iPhone entweder mit dem PhoneGap Desktop-Anwendung oder den CLI-Befehl „phonegap dienen“ serviert wird, und ich alarmieren aus window.ace im Deviceready-Handler ist der Wert "undefined".

Wenn ich jedoch "cordova run ios" ausführe, um die App über den Simulator auszuführen, wird window.ace definiert und funktioniert.

Auch wenn ich das Inhalt src Attribut ändern, um auf eine andere Datei zu zeigen, funktioniert es wieder mit "cordova run ios", aber nicht mit der PhoneGap Entwickler App, die immer auf index.html zu dienen scheint. Ich habe einen Beitrag von einem Nutzer gesehen, der das gleiche Problem hatte, und der Vorschlag lautete, dass die Entwickler-App config.xml nicht lesen kann. Ich habe bewiesen, dass dies nicht der Fall ist, indem ich absichtlich Fehler mache, die gefangen werden.

Kann mir jemand sagen, was ich falsch mache, denn wenn ich keine Plugins hinzufügen kann, macht das die PhoneGap Entwickler-App nutzlos?

Antwort

0

Ich denke, dass Sie das Plugin mit npm installieren müssen. Dann gibt sie in der Konfigurationsdatei wie:

<plugin name="cordova-plugin-ace" source="npm" spec="~2.1.0" /> 

Hinweis: spec-Attribut kann variieren.

Die folgenden URLs könnten hilfreich sein.

+0

Ich habe es auf diese Weise für andere Plugins. Vielleicht war das Ass ein schlechtes Beispiel. Wie auch immer, es machte keinen Unterschied. Ich lese, dass die PhoneGap Developer App ihre eigene config.xml verwendet und dies könnte der Grund sein. Vielleicht kann jemand bestätigen. – rushman

+0

Nur um weitere Informationen hinzuzufügen. Ich habe diesen Ansatz für Cordoba-Plugin-Ass und Cordoba-Plugin-Tastatur versucht. In beiden Fällen habe ich "cordova plugin add" verwendet, um das Plugin hinzuzufügen. Beide Instanzen können ihr Objekt nicht instanziieren, wenn sie über die PhoneGap Developer App ausgeführt werden. Beide funktionieren, wenn Sie cordova run ios verwenden. Beide funktionieren, wenn Sie über einen Browser eine Verbindung zum PhoneGap-Server herstellen.Indizien deuten darauf hin, dass die PhoneGap Developer App auf Geräten installiert ist. – rushman

+0

Ich habe auch den Versionsverlauf der Entwickler-App im App Store überprüft. Es gibt viele Einträge zum Hinzufügen dieses und jenes Plugins. Also denke ich, die richtige Antwort ist, dass die Entwickler-App ihre eigene config.xml auf dem Gerät verwendet, was sie für die Entwicklung von echten Apps wirklich fast nutzlos macht. – rushman

Verwandte Themen