Phonegap Facebook 插件没有响应

Posted

技术标签:

【中文标题】Phonegap Facebook 插件没有响应【英文标题】:Phonegap Facebook plugin not responding 【发布时间】:2015-10-20 18:02:11 【问题描述】:

我正在尝试让 Phonegap Facebook 插件工作,但没有发生错误,并且插件的 login() 函数没有做任何事情(它被调用,但没有做任何事情)。

每当我尝试在 Cordova CLI 中安装插件时,我都会收到 Plugin already installed 通知。我通过在plugins 文件夹中添加 FacebookConnectPlugin.h 和 FacebookConnectPlugin.m 手动添加了插件文件。我已将 FacebookSDK.framework 添加到 frameworks 文件夹中。但是,当我打开我的应用程序并点击登录按钮(正确调用该函数)时,什么也没有发生。 Xcode 中的活动控制台没有显示任何错误,也没有执行任何操作。

我的 JS 代码如下所示:

var login = function () 
    if (!window.cordova) 
        var appId = prompt("<MyAppId>", "");
        facebookConnectPlugin.browserInit(appId);
    
    facebookConnectPlugin.login( ["email"],
        function (response)  alert(JSON.stringify(response)) ,
        function (response)  alert(JSON.stringify(response)) );


$('.login-btn').click(function() 
    login();
);

为了完成这项工作,我缺少哪一步?该插件可以在here找到。

此外,当我启动应用程序时,活动控制台会显示以下信息:

2015-10-20 19:58:38.586 MyApp[5143:2355309] Apache Cordova native platform version 3.8.0 is starting. 2015-10-20 19:58:38.590 MyApp[5143:2355309] Multi-tasking -> Device: YES, App: YES 2015-10-20 19:58:38.595 MyApp[5143:2355309] Unlimited access to network resources 2015-10-20 19:58:39.033 MyApp[5143:2355309] Resetting plugins due to page load. 2015-10-20 19:58:39.711 MyApp[5143:2355309] Finished load of: file:///var/mobile/Containers/Bundle/Application/365E079A-56F7-4874-9914-182A57D6DFED/Qwest.app/www/index.html

【问题讨论】:

【参考方案1】:

在 cordova 中手动添加插件通常会导致不好的事情,尤其是在将来如果您想更新。现在我会尝试删除和添加插件:

cordova plugin rm phonegap-facebook-plugin 
cordova plugin -d add -d plugin add /path/to/cloned/phonegap-facebook-plugin --variable APP_ID="123456789" --variable APP_NAME="myApplication"

(您确实按照https://github.com/Wizcorp/phonegap-facebook-plugin/blob/master/platforms/ios/README.md 的说明安装插件并将其克隆到不同的目录)看看是否可行,如果不可行,请使用添加和删除平台的更多核选项。

cordova platform rm ios
cordova platform add ios

这有时是必需的,但只有在您未对 XCode 项目进行任何更改时才应执行此操作。

此外,该插件已被分叉,https://github.com/jeduan/cordova-plugin-facebook4 使用 Facebook4 SDK 而不是 Facebook3 SDK,而且它需要更少的摆弄来让 IOS 插件工作。它是 api 兼容的,所以它应该可以工作。

【讨论】:

以上是关于Phonegap Facebook 插件没有响应的主要内容,如果未能解决你的问题,请参考以下文章

Cordova/Phonegap iOS:Facebook Connect 插件没有访问权限

为基于 Web 的 phonegap 应用添加 facebook 评论框插件

Phonegap 3.0.0 - Facebook SDK 3.6 - FB 插件:找不到 Facebook 连接

Facebook 连接 + Phonegap 3

Cordova/Phonegap:无法让 Facebook Phonegap 插件工作

PhoneGap Facebook Connect 没有回拨