1

Я пытаюсь заставить плагин Phonegap Facebook работать, но ошибок нет, а функция плагина login() просто ничего не делает (она вызывается, но ничего не делает).Phonegap Facebook plugin не отвечает

Всякий раз, когда я пытаюсь установить плагин в CLI Cordova, я получаю уведомление Plugin already installed. Я добавил файлы плагинов вручную, добавив FacebookConnectPlugin.h и FacebookConnectPlugin.m в папку plugins. Я добавил файл 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.

Также плагин был разветвлен и https://github.com/jeduan/cordova-plugin-facebook4, который использует Facebook4 SDK, а не Facebook3 SDK, а также требует меньше усилий, чтобы заставить плагин IOS работать. Он совместим с api, поэтому он должен просто работать.