2013-10-07 14 views
5

Próbuję zbudować moją pierwszą aplikację Cordova i nie mogę uzyskać wtyczki do pracy.Cordova 3.1.0: Wtyczka nie została znaleziona lub nie jest CDVPlugin

Moja aplikacja została zbudowana przy użyciu interfejsu wiersza poleceń Cordova, więc dodałem aparatu plugin ten sposób:

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

Moje config.xml wygląda następująco:

<?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 i wszystko poszło dobrze, ale kiedy buduję projekt w Xcode, to najpierw mi brakuje CDVCamera.h, CDVCamera.m files. Czy interfejs wiersza poleceń nie powinien umieszczać tych plików poprawnie, gdy najpierw uruchamiam cordova plugin add?

Także nawet jeśli skopiować pliki ręcznie w moim projekcie, tras projektu, ale gdy zgłoszę funkcje aparatu to rzuca się następujący błąd:

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

wiem, że jestem nowy na tym, ale ja nie rozumiem, co robię źle?

Odpowiedz

1

OK, więc wydaje się, że musisz dodać wszystkie potrzebne wtyczki przed utworzeniem wbudowanego. Wszystkie pliki zasobów są wtedy poprawnie zlokalizowane.

14

Jeśli nadal występuje ten błąd, gdy wszystkie pliki są na miejscu, upewnij się, że odpowiednie pliki źródłowe .m są faktycznie elementami docelowymi projektu.

Aby to zrobić, wybierz plik w Xcode Plugin.m i upewnij się, że w prawym panelu inspektora w ramach docelowego członkostwa jest zaznaczone pole wyboru dla danego projektu.

Miałem ten problem po usunięciu i dodaniu wtyczki kilka razy.

Podpowiedź: w odpowiadającym pliku Plugin.h brakuje podświetlania składni dla typów zadeklarowanych w klasach CDVPlugin, gdy wtyczka nie jest elementem projektu (jak zaobserwowano w Xcode 5.0).

+0

Dzięki za to! Miałam tak wiele frustracji w kwestii tego, jak precyzyjne jest narzędzie wiersza poleceń. Ma wiele małych błędów, które trzeba opracować. – inorganik

+0

Dzięki! Próbowałem to rozgryźć przez kilka godzin, właśnie uratowałeś mi dużo żalu :) –

+0

to działa dla mnie! – VVL

7

Jeśli nie masz zbyt dużo skrępowany w projekcie Xcode (co nie), najprostszym sposobem rozwiązania tego problemu jest zrobić:

cordova platform remove ios 

a potem ...

cordova platform add ios 

Cokolwiek to jest pomieszane zostaje rozwiązane przez to. Nie musisz ponownie instalować wtyczek, są one instalowane po ponownym dodaniu platformy.

0

Miałem ten problem również podczas ponownej instalacji wtyczki, ale udało się ją rozwiązać. Jeśli, tak jak ja, usuwając platformy nie jest opcją, ponieważ chcesz tracić zbyt dużo pracy, oto rozwiązanie:

Krok 1: Dodaj CDVCamera.m do Źródeł skompilować (Under Fazy kompilacji)

kroku 2: Jeśli twój problem jest taki sam jak mój, dostaniesz błędy Apple Match-o-Linker: dodaj ramy OpenAL i ImageIO do swojego projektu.

Etap 3: Ponownie i cieszyć się :)

1

że ten sam problem z PhoneGap 3.6. Poprzez aktualizację gry na klawiaturze problem zostaje rozwiązany.

npm update -g cordova 

Oczywiście, trzeba mieć chęć zaktualizowania PhoneGap :)

1

Powiem tylko, że chciałbym spróbować rozwiązania Chris Rae resetowania swoją platformę, nawet jeśli nie sądzę, że jest Twój problem!

cordova platform rm ios 
cordova platform add ios 

Dzięki Chris Rae za rozwiązanie! Udało się to dla mnie świetne. Zebrałem to i inne rozwiązania problemów, jakie miałem podczas dodawania WKWebview do mojej aplikacji i umieszczania ich w poście na blogu.

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

Chyba wziął kolejny jeden z roztworów o ustawieniach kompilacji. Więc, nie bądźcie źli/dziękuję za bandę!