2013-10-07 30 views
5

Sto provando a creare la mia prima app Cordova e non riesco a far funzionare un plugin.Cordova 3.1.0: Plugin non trovato o non è un CDVPlugin

La mia app è stata costruita utilizzando l'interfaccia a riga di comando Cordova, così ho aggiunto la fotocamera plug in questo modo:

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

mio config.xml si presenta così:

<?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' Ho eseguito cordova build e tutto è andato bene, ma quando costruisco il progetto in Xcode mi dice che prima manca lo CDVCamera.h, CDVCamera.m files. L'interfaccia della riga di comando non dovrebbe posizionare correttamente quei file quando eseguo cordova plugin add in primo luogo?

Inoltre, anche se copio i file manualmente nel mio progetto, le piste del progetto, ma quando chiamo le funzioni della fotocamera si getta il seguente errore:

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

So che sono nuovo a questo, ma io non riesco a capire cosa sto sbagliando?

risposta

1

Ok così sembra che devi aggiungere tutti i plugin che vuoi prima di crearne uno. Tutti i file delle risorse sono posizionati correttamente in quel momento.

14

Se si verifica ancora questo errore quando tutti i file sono al loro posto, assicurarsi che i file di origine .m siano effettivamente membri di destinazione del progetto.

Per fare ciò, selezionare il file Plugin.m in Xcode e assicurarsi che nel riquadro di ispezione destro sotto destinazione appartenenza è selezionata la casella di controllo per il vostro progetto.

Ho avuto questo problema dopo aver rimosso e aggiunto un plugin alcune volte.

Suggerimento: il corrispondente file di Plugin.h manca di colore evidenziazione della sintassi per i tipi dichiarati nei CDVPlugin classi quando il plugin non è un membro del progetto (come osservato in Xcode 5.0).

+0

Grazie per questo! Ho avuto così tanta frustrazione per quanto pignolo sia lo strumento da riga di comando. Ha un sacco di piccoli bug che devono essere risolti. – inorganik

+0

Grazie davvero! Ho cercato di capirlo per qualche ora, mi hai appena salvato un sacco di dolore :) –

+0

funziona per me! – VVL

7

Se non avete troppo legato nel progetto Xcode (che non ho fatto), il modo più semplice per risolvere questo è quello di fare:

cordova platform remove ios 

e poi ...

cordova platform add ios 

Tutto ciò che viene confuso viene risolto facendo così. Non è necessario reinstallare i plugin, vengono installati quando si aggiunge nuovamente la piattaforma.

0

Ho avuto questo problema anche durante la reinstallazione del plugin ma sono riuscito a risolverlo. Se, come me, la rimozione della piattaforma non è un'opzione perché ci si perde troppo lavoro, ecco una soluzione:

Passaggio 1: Aggiungere CDVCamera.m alle vostre fonti di compilazione (Under fasi di creazione)

Passo 2: Se il tuo problema è uguale al mio, otterrai gli errori di Apple Match-o-Linker: aggiungi i framework OpenAL e ImageIO al tuo progetto.

Fase 3: Ricostruire e gioire :)

1

Ho avuto lo stesso problema con PhoneGap 3.6. Con l'aggiornamento di PhoneGap, il problema è risolto.

npm update -g cordova 

Ovviamente, si deve avere il desiderio di aggiornare PhoneGap :)

1

Lasciatemi dire che vorrei provare la soluzione di Chris Rae di reimpostare la piattaforma, anche se non si pensi che sia il tuo problema!

cordova platform rm ios 
cordova platform add ios 

Grazie Chris Rae per la soluzione! Ha funzionato benissimo per me. L'ho raccolto e altre soluzioni ai problemi che avevo mentre aggiungevo WKWebview alla mia app e li inserivo in un post sul blog.

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

penso ho preso un'altra delle tue soluzioni circa le impostazioni di generazione. Quindi, non essere arrabbiato/grazie un sacco!

Problemi correlati