2013-10-07 14 views
5

Ich versuche, meine erste Cordova-App zu bauen, und ich kann kein Plugin zum Arbeiten bekommen.Cordova 3.1.0: Plugin nicht gefunden oder ist kein CDVPlugin

Meine app gebaut wurde die Cordova Befehlszeilenschnittstelle, also habe ich die Kamera-Plugin auf diese Weise hinzugefügt:

cordova plugin add https://git-wip-us.apache.org/repos/asf/cordova-plugin-camera.git 

Mein config.xml sieht wie folgt aus:

<?xml version='1.0' encoding='utf-8'?> 
<widget id="com.dev.myapp" version="0.0.1" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0"> 
    <name>My App</name> 
    <description> 
     A sample Apache Cordova application 
    </description> 
    <author email="[email protected]" href="http://cordova.io"> 
     Apache Cordova Team 
    </author> 
    <content src="index.html" /> 
    <access origin="*" /> 
    <preference name="fullscreen" value="true" /> 
    <preference name="webviewbounce" value="true" /> 
    <feature name="Camera"> 
     <param name="ios-package" value="CDVCamera" /> 
    </feature> 
</widget> 

I‘ ve run cordova build und alles ging gut, aber wenn ich das Projekt in Xcode baue sagt es mir zuerst die CDVCamera.h, CDVCamera.m files fehlen. Soll die Befehlszeilenschnittstelle diese Dateien nicht richtig platzieren, wenn ich cordova plugin add an erster Stelle ausführen?

Auch selbst wenn ich die Dateien manuell in meinem Projekt, die Projektdurchläufe kopieren, aber wenn ich die Kamera-Funktionen aufrufen wirft es den folgenden Fehler:

ERROR: Plugin 'Camera' not found, or is not a CDVPlugin 

Ich weiß, dass ich diese neu bin, aber ich kann nicht herausfinden, was mache ich falsch?

Antwort

1

Ok, so scheint es, dass Sie alle Plugins hinzufügen müssen, bevor Sie das Build erstellen. Alle Ressourcendateien sind dann korrekt lokalisiert.

14

Wenn dieser Fehler immer noch auftritt, wenn alle Dateien vorhanden sind, stellen Sie sicher, dass die relevanten Quellen .m Dateien tatsächlich Zielmitglieder des Projekts sind.

so zu tun, wählen Sie die Plugin.m Datei in Xcode und stellen Sie sicher, dass für Ihr Projekt im rechten Bereich unter Inspektoren Ziel Membership das Kontrollkästchen aktiviert ist.

Ich hatte dieses Problem nach dem Entfernen und Hinzufügen eines Plugins ein paar Mal.

Hinweis: Die entsprechende Plugin.h Datei fehlt Syntax Farbhervorhebung für Typen in den CDVPlugin Klassen deklariert, wenn Ihr Plugin kein Projektmitglied ist (wie in Xcode 5.0 beobachtet).

+0

Danke dafür! Ich hatte so viel Frust darüber, wie knifflig das Kommandozeilen-Tool ist. Es hat viele kleine Bugs, die es zu lösen gilt. – inorganik

+0

Danke in der Tat! Ich habe versucht, das jetzt für ein paar Stunden herauszufinden, du hast mir gerade viel Kummer gerettet :) –

+0

es funktioniert für mich! – VVL

7

Wenn Sie nicht zu viel in Ihrem Xcode-Projekt gebunden (was ich nicht), ist der einfachste Weg, dies zu lösen, ist zu tun:

cordova platform remove ios 

und dann ...

cordova platform add ios 

Was immer es ist, dass verwirrt wird, wird dadurch gelöst. Sie müssen die Plugins nicht neu installieren, sie werden installiert, wenn Sie die Plattform erneut hinzufügen.

0

Ich hatte dieses Problem auch bei der Neuinstallation des Plugins, aber es geschafft, es zu lösen. Wenn, wie ich, die Plattform zu entfernen, ist keine Option, weil Sie zu viel Arbeit verlieren würde, hier eine Lösung:

Schritt 1: Fügen CDVCamera.m zu Ihrer Compile Sources (Unter Build-Phasen)

Schritt 2: Wenn Ihr Problem das gleiche ist wie bei mir, erhalten Sie Apple Match-o-Linker-Fehler: Fügen Sie Ihrem Projekt die Frameworks OpenAL und ImageIO hinzu.

Schritt 3: Rebuild und freuen :)

1

ich das gleiche Problem mit PhoneGap 3.6 hatte. Durch das Aktualisieren von Phonegap wird das Problem gelöst.

npm update -g cordova 

Offensichtlich muss man den Wunsch phonegap :)

1

Lassen Sie mich sagen zu aktualisieren, ich würde Ihre Plattform des Zurücksetzens sogar Chris Rae versuchen Lösung, wenn Sie nicht denken, dass Ihr Problem ist!

cordova platform rm ios 
cordova platform add ios 

Dank Chris Rae für Ihre Lösung! Es hat super für mich funktioniert. Ich sammelte es und andere Lösungen zu Problemen, die ich hatte, während ich WKWebview zu meiner App hinzufügte und sie in einen Blogpost packte.

http://blog.tylerbuchea.com/using-wkwebview-in-ios9-to-boost-ionic-cordova-performance/

Ich glaube, ich habe ein anderes Ihre Lösungen über die Build-Einstellungen. Also, sei nicht sauer/danke, vielen Dank!

Verwandte Themen