2016-02-06 22 views
6

Kiedy próbuję uruchomić jonową gromadzeniu ios lub spróbować zbudować archiwum dla projektu Xcode stworzonej przez jonowy uzyskać ten błądWizcorp/PhoneGap-facebook-plugin: budowa ios udało

**FacebookConnectPlugin.m**:27:44: error: no visible @interface for 'CDVPlugin' declares the selector 'initWithWebView:' self = (FacebookConnectPlugin *)[super initWithWebView:theWebView]; ~~~~~ ^~~~~~~~~~~~~~~ /Applications/MAMP/htdocs/hybrid-mobile-app/platforms/ios/qudratApp/Plugins/phonegap-facebook-plugin/FacebookConnectPlugin.m:238:28: warning: comparison of constant 2 with boolean expression is always false [-Wtautological-constant-out-of-range-compare] if (!command.arguments == 2) { ~~~~~~~~~~~~~~~~~~^~ 1 warning and 1 error generated.

** BUILD FAILED **

The following build commands failed: CompileC build/qudratApp.build/Debug-iphonesimulatorqudratApp.build/Objects-normal/i386/FacebookConnectPlugin.o qudratApp/Plugins/phonegap-facebook-plugin/FacebookConnectPlugin.m normal i386 objective-c com.apple.compilers.llvm.clang.1_0.compiler (1 failure) Error: Error code 65 for command: xcodebuild with args: -xcconfig,/Applications/MAMP/htdocs/hybrid-mobile-app/platforms/ios/cordova/build-debug.xcconfig,-project,qudratApp.xcodeproj,ARCHS=i386,-target,qudratApp,-configuration,Debug,-sdk,iphonesimulator,build,VALID_ARCHS=i386,CONFIGURATION_BUILD_DIR=/Applications/MAMP/htdocs/hybrid-mobile-app/platforms/ios/build/emulator,SHARED_PRECOMPS_DIR=/Applications/MAMP/htdocs/hybrid-mobile-app/platforms/ios/build/sharedpch

+0

Masz dużo szczęścia z tym problemem? Jestem na drugim dniu i wciąż nie mam szczęścia. Nasze błędy wyglądają nieco inaczej, ale tak samo z @interface dla "CDVPlugin". –

+0

Nopes wciąż nie ma szczęścia, usunąłem facebooka z iOS, dopóki nie dostanę dla niego poprawki, Jaki jest dokładnie twój błąd –

+2

Problem został rozwiązany, zapoznaj się z: https://github.com/Wizcorp/phonegap-facebook -plugin/issues/1227 –

Odpowiedz

7

Zainstalowałem PhoneGap wtyczkę facebook poprzez lokalnie sklonowaną kopię, a także ponownie dodaj FacebookSDK.framework do Xcode po instalacji, ale nic z tego nie zadziałało. Sposób, w jaki rozwiązałem, polegał na instalacji https://github.com/jeduan/cordova-plugin-facebook4.

  1. Wyjąć wtyczkę PhoneGap:

    ionic plugin rm phonegap-facebook-plugin

  2. sklonować obok wtyczki:

    git clone https://github.com/jeduan/cordova-plugin-facebook4.git

  3. Dodaj wtyczki ręcznie:

    cordova -d plugin add PATH/cordova-plugin-facebook4 --variable APP_ID="*****" --variable APP_NAME="*****"

Tak to działa dla mnie.

+1

To działało również dla mnie i oszczędzało dużo czasu :) –

+0

Do Twojej dyspozycji możesz dodać wtyczkę do pobrania. np. 'cordova plugin dodaj cordova-plugin-facebook4 - zmienna APP_ID =" ***** "- zmienna APP_NAME =" ***** " – Jacksonkr

1

można rozwiązać ten na 2 sposoby:

1- zastąpić [super initWithWebView:theWebView] przez [super init].

2- dodać flagę kompilator FacebookConnectPlugin.m wyłączyć ARC, flaga kompilator jest -fno-objc łukowego

Z mojego punktu widzenia, polecam to drugie rozwiązanie, bo to nie wpływa na kod.

Jeśli szukasz rozwiązania krok po kroku, wykonaj następujące czynności w Xcode.

  1. Wybierz swój główny projekt.
  2. Wybierz cel
  3. Go zbudować fazy
  4. Rozwiń skompilowany z kranu zasoby wybierz „FacebookConnectPlugin.m”
  5. Po prawej stronie „FacebookConnectPlugin.m”, można dodać następujące kompilatora Flaga

    -fno-objc łukowego

teraz, jeśli chcesz, aby zrozumieć problem w szczegółach:

FacebookConnectPlugin.m został zbudowany w środowisku innym niż ARC i kontroluje jego zużycie pamięci. ale Xcode nie zezwala na to, ponieważ używa ARC do kontrolowania zużycia pamięci przez całą aplikację. więc rozwiązaniem tego konfliktu jest zmiana kodu FacebookConnectPlugin.m na ARC lub po prostu powiedzenie Xcode, że jesteś odpowiedzialny za zarządzanie pamięcią tej klasy przez dodanie flagi kompilatora.

Powiązane problemy