Защо Phonegap Facebook Plugin НЕ работи на 64-битови архитектури?

Имам предвид официалния плъгин FBConnect от phonegap: https://github.com/phonegap-build/FacebookConnect

Всичко работи добре, когато работите с iphone не x64 (32 бита предполагам)

Но когато стартирате приложението на 64-битова архитектура, този плъгин изглежда създава проблеми. Ето какво имам:

ld: warning: directory not found for option '-L/Users/YohannM/Documents/phonegap-facebook-plugin-master/src/ios/frameworks'
ld: warning: ignoring file /Users/YohannM/Library/Developer/Xcode/DerivedData/MeetMyFriends-bpzkrmogtgawjxbckzcgadbbsksi/Build/Products/Debug-iphonesimulator/libCordova.a, file was built for archive which is not the architecture being linked (x86_64): /Users/YohannM/Library/Developer/Xcode/DerivedData/MeetMyFriends-bpzkrmogtgawjxbckzcgadbbsksi/Build/Products/Debug-iphonesimulator/libCordova.a
Undefined symbols for architecture x86_64:
  "_CDVLocalNotification", referenced from:
      -[AppDelegate application:didReceiveLocalNotification:] in AppDelegate.o
  "_CDVPluginHandleOpenURLNotification", referenced from:
      -[AppDelegate application:handleOpenURL:] in AppDelegate.o
  "_OBJC_CLASS_$_CDVCommandDelegateImpl", referenced from:
      _OBJC_CLASS_$_MainCommandDelegate in MainViewController.o
  "_OBJC_CLASS_$_CDVCommandQueue", referenced from:
      _OBJC_CLASS_$_MainCommandQueue in MainViewController.o
  "_OBJC_CLASS_$_CDVPlugin", referenced from:
      _OBJC_CLASS_$_FacebookConnectPlugin in FacebookConnectPlugin.o
      _OBJC_CLASS_$_CDVDevice in CDVDevice.o
      _OBJC_CLASS_$_CDVLocation in CDVLocation.o
  "_OBJC_CLASS_$_CDVPluginResult", referenced from:
      objc-class-ref in FacebookConnectPlugin.o
      objc-class-ref in CDVDevice.o
      objc-class-ref in CDVLocation.o
  "_OBJC_CLASS_$_CDVViewController", referenced from:
      _OBJC_CLASS_$_MainViewController in MainViewController.o
      objc-class-ref in CDVDevice.o
  "_OBJC_METACLASS_$_CDVCommandDelegateImpl", referenced from:
      _OBJC_METACLASS_$_MainCommandDelegate in MainViewController.o
  "_OBJC_METACLASS_$_CDVCommandQueue", referenced from:
      _OBJC_METACLASS_$_MainCommandQueue in MainViewController.o
  "_OBJC_METACLASS_$_CDVPlugin", referenced from:
      _OBJC_METACLASS_$_FacebookConnectPlugin in FacebookConnectPlugin.o
      _OBJC_METACLASS_$_CDVDevice in CDVDevice.o
      _OBJC_METACLASS_$_CDVLocation in CDVLocation.o
  "_OBJC_METACLASS_$_CDVViewController", referenced from:
      _OBJC_METACLASS_$_MainViewController in MainViewController.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Разбира се, следвах инструкциите стъпка по стъпка и (мисля) преди това работеше добре (преди това трябваше да актуализирам XCode. Може ли някой да ми помогне с това? какво трябва да направя, за да работи на моя iphone 64 бита?

Благодаря


person Miles M.    schedule 12.04.2014    source източник


Отговори (1)


Всъщност намерих решението в друга тема, там има едно много пълно, но това, което работи най-добре за мен, не беше в тази тема. Беше доста просто:

Те току-що пуснаха нова версия 3.4.1, които решават тези проблеми.

Затова актуализирам един файл, за да сочи към TAG 3.4.1:

/usr/local/lib/node_modules/cordova/platforms.js

ред 24 от:

version: '3.4.0'

to:

version: '3.4.1'

След това премахвате папката iOS във вашия проект и изпълнявате:

cordova platform add ios

Това ще изтегли новия шаблон, базиран на 3.4.1 с всички корекции.

благодаря @Fabrizio Giordano, че посочи това

person Miles M.    schedule 02.05.2014