Cordova 1.6.1 - Plugin nicht gefunden oder ist nicht eine CDVPlugin
Sorry, mein Englisch ist nicht sehr gut.
Ich bin mit cordova 1.6.1.
Ich habe eine neue cordova-basierte Projekt, und ich erweiterte es noch ein plugin hinzufügen.Ich Baue eine statische Bibliothek mit dem plugin habe ich erstellt, und führen Sie das Projekt, einschließlich dieser Bibliothek (die Bibliothek finden Sie in den build-Einstellungen von xcode), ohne die Quellen in den plugins-Ordner
Treten die folgenden Fehler auf, wenn ich meine Anwendung :
[INFO] ClientChannel(1) initialisieren...
CDVPlugin Klasse MNClientChannelPlugin (pluginName: MNClientChannelPlugin) nicht vorhanden ist.
FEHLER: Plugin 'MNClientChannelPlugin' nicht gefunden, oder ist nicht ein CDVPlugin. Überprüfen Sie Ihre plugin-mapping in Cordova.plist.
Einige Kommentare auf diesen Fehler :
1) Die erste Zeile ist ein Protokoll aus Dem JavaScript-code, den ich schrieb, deutet dies darauf hin, dass die "initialize" - Funktion gestartet wird. Diese Funktion Aufruf einer init-Funktion von einem Plugin namens MNClientChannelPlugin.
2) & 3) Diese Protokolle stammen aus der nativen iOS-sdk cordova (Genannt von der getCommandInstance (2) und "ausführen" (3) Funktionen von CDVViewController.mm)
In der Codova.plist, legte ich MNClientChannelPlugin als Schlüssel und als Wert. Mit dieser Konfiguration funktioniert es, wenn ich MNClientChannelPlugin Quelle (.mm & .h) in den Plugins-Ordner, aber nicht, wenn habe ich eine statische Bibliothek mit MNClientChannelPlugin.mm. (Ich habe diese library in mein Projekt und lassen Sie die .h-header in den Plugins-Ordner).
Cordova scheint nicht die Quelle in der Bibliothek...
Des Cordova-plugins sind in der Cordova.Framework und nicht in der
Plug-in-Ordner mit .m und .h-Dateien, so dass es möglich scheint, zu erstellen
plugins, Verpacken Sie in eine Bibliothek und verwenden diese in einer cordova-basierte
Projekt, aber ich es funktioniert nicht für mich...
Ich habe mir die Archive und das verpflichtet aber nicht finden
Lösung. Weiß jemand, was könnte das Problem sein ?
InformationsquelleAutor user1360738 | 2012-04-27
Du musst angemeldet sein, um einen Kommentar abzugeben.
Recht, ich habe eine Lösung gefunden.
Hier ist das problem:
Die Lösung ist die Kraft, die den linker an, das MNClientChannelPlugin Objekt.
Die leicht war zu add-all_load zu 'andere linker flags' für das Projekt. Das wird ein Domino-Effekt der Verlinkung jeder Klasse und in jedem statischen Bibliothek in Ihr Projekt. Es hat aber funktioniert.
Besser war ist zu verwenden -force_load mit dem Namen Ihres statischen Bibliothek. Hier ein Beitrag mit Hilfe auf, auch wenn ich noch nicht selber ausprobiert:
xcode-project-target-Einstellungen-syntax-für-linker-flag-force-load-on-iphone
InformationsquelleAutor Ben Clayton
Wenn Sie wurden mit Pushwoosh (ich nehme an, Sie waren), die Anweisungen klar sagen, dass Sie kopieren und fügen Sie den folgenden code:
zu Plugins in “Cordova.plist. Also, wenn Sie die obige Fehlermeldung, die ich mal hatte, bedeutet es, dass Sie nicht kopieren Sie und fügen es zu den Plugins. Bewegen Sie den Schlüssel und string-Werte an die richtige Stelle sollten, vernichten Sie die Fehler.
Happy hacking!!!
InformationsquelleAutor iOSAndroidWindowsMobileAppsDev