我已经安装了phonegap-facebook-plugin 的最新版本 但是当我构建项目时,我收到了以下错误消息。 我尝试了stackoverflow和其他网站上提到的许多解决方案,没有任何积极的结果。
com.phonegap.plugins.facebookconnect/FacebookConnectPlugin.m:11:
Et3arrafApp/Plugins/com.phonegap.plugins.facebookconnect/FacebookConnectPlugin.h:11:9: fatal error:
'FacebookSDK/FacebookSDK.h' file not found
#import <FacebookSDK/FacebookSDK.h>
^
1 error generated.
** BUILD FAILED **
The following build commands failed:
CompileC build/Et3arrafApp.build/Debug-iphonesimulator/Et3arrafApp.build/Objects-normal/i386/FacebookConnectPlugin.o Et3arrafApp/Plugins/com.phonegap.plugins.facebookconnect/FacebookConnectPlugin.m normal i386 objective-c com.apple.compilers.llvm.clang.1_0.compiler
(1 failure)
Error: /Users/apple/Desktop/et3arraf/platforms/ios/cordova/build: Command failed with exit code 65
at ChildProcess.whenDone (/usr/local/lib/node_modules/cordova/node_modules/cordova-lib/src/cordova/superspawn.js:131:23)
at ChildProcess.EventEmitter.emit (events.js:98:17)
at maybeClose (child_process.js:753:16)
at Process.ChildProcess._handle.onexit (child_process.js:820:5)
答案 0 :(得分:12)
我今天遇到了同样的问题。
目前使用插件寄存器安装此插件不起作用(对于iOS)。
您必须将存储库(phonegap-facebook-plugin
)克隆到本地文件系统,例如$HOME/src/phonegap-facebook-plugin
。然后安装指向该路径的插件,例如cordova plugin add $HOME/src/phonegap-facebook-plugin
...
事实证明,在通过插件注册表获取时,FacebookSDK.framework
未正确安装。它应该是这样的:
$ ls -l plugins/com.phonegap.plugins.facebookconnect/platforms/ios/FacebookSDK.framework/
total 24
lrwx------ 1 mjl staff 24 Aug 15 15:23 FacebookSDK -> ./Versions/A/FacebookSDK
lrwx------ 1 mjl staff 20 Aug 15 15:23 Headers -> ./Versions/A/Headers
lrwx------ 1 mjl staff 22 Aug 15 15:23 Resources -> ./Versions/A/Resources
drwx------ 4 mjl staff 136 Aug 15 15:23 Versions
但是通过插件注册表安装时没有保留符号链接......但是从本地文件系统安装时会保留它们。
答案 1 :(得分:1)
我通过使用--save
选项安装插件解决了这个问题。
在我的情况下,我已将插件下载到我的电脑,我所做的是:
cordova plugin add --save <my downloaded plugin directory> --variable APP_ID=<app_id> --variable APP_NAME=<app_name>
所需文件将与@ {mjl ls -l plugins/com.phonegap.plugins.facebookconnect/platforms/ios/FacebookSDK.framework/
P / S:如果您使用的是iTerm,您可以将文件夹拖到iTerm终端,并自动输入完整的目录路径。
答案 2 :(得分:-2)
在网上搜索越来越多后,我尝试重新创建Headers,FacebookSDK和Resources的sym链接并解决了
ln -s ./Versions/A/Headers Headers
等等