Phonegap Facebook 插件没有响应
Phonegap Facebook plugin not responding
我正在尝试让 Phonegap Facebook 插件工作,但没有出现任何错误,而且插件的 login()
函数什么也没做(它正在被调用,但什么也没做)。
每当我尝试在 Cordova CLI 中安装插件时,我都会收到 Plugin already installed
通知。我通过在 plugins
文件夹中添加 FacebookConnectPlugin.h 和 FacebookConnectPlugin.m 来手动添加插件文件。我已将 FacebookSDK.framework 添加到 frameworks
文件夹。但是,当我打开我的应用程序并点击登录按钮(正确调用该函数)时,没有任何反应。 Xcode 中的 activity 控制台没有显示任何错误,也没有执行任何操作。
我的 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.
找到
此外,当我启动应用程序时,activity 控制台显示以下信息:
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
在 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 插件工作,但没有出现任何错误,而且插件的 login()
函数什么也没做(它正在被调用,但什么也没做)。
每当我尝试在 Cordova CLI 中安装插件时,我都会收到 Plugin already installed
通知。我通过在 plugins
文件夹中添加 FacebookConnectPlugin.h 和 FacebookConnectPlugin.m 来手动添加插件文件。我已将 FacebookSDK.framework 添加到 frameworks
文件夹。但是,当我打开我的应用程序并点击登录按钮(正确调用该函数)时,没有任何反应。 Xcode 中的 activity 控制台没有显示任何错误,也没有执行任何操作。
我的 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.
找到此外,当我启动应用程序时,activity 控制台显示以下信息:
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
在 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 兼容的,所以它应该可以正常工作。