1

我試圖讓Phonegap Facebook插件工作,但沒有發生錯誤,插件的login()函數只是沒有做任何事情(它被調用,但什麼也沒做)。Phonegap Facebook插件沒有響應

每當我嘗試在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

回答

2

科爾多瓦手動添加插件通常會導致不好的事情,尤其是在未來,如果你想進行更新。現在我會嘗試刪除和添加插件:

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項目進行更改時才應執行。

此外,插件已分叉,使用Facebook4 SDK而不是Facebook3 SDK的https://github.com/jeduan/cordova-plugin-facebook4,以及它需要較少的擺弄讓IOS插件工作。它是api兼容的,所以它應該工作。