Получение ошибки с помощью Apache Cordova Facebook Plugin с ионными и угловыми js, запущенными на симуляторе Xcode

0

Требование:

Я пытаюсь создать мобильное приложение с использованием Ionic, Apache Cordova, Angular Js и Parse. Одна из функций приложения is- предполагает, что пользователь может войти в систему с помощью Facebook (либо с помощью собственного приложения, либо на основе браузера). Пользователь будет нажимать кнопку "Войти с Facebook" на странице "Вход", и предполагается, что вы откроете либо собственное приложение Facebook (если установлено), либо браузер, чтобы перенаправить на страницу входа в систему Facebook для аутентификации. После аутентификации пользователь должен иметь возможность выполнять дальнейшие действия в приложении.

Проблема. Я получаю следующую ошибку при нажатии кнопки "Войти с Facebook" в моем приложении в симуляторе Xcode.

ReferenceError: Не удается найти переменную: facebookConnectPlugin

Изображение 174551

Что я сделал до сих пор?

1) Созданы необходимые файлы HTML с кнопкой входа, угловыми контроллерами js и службами для потока аутентификации.

2) Следуйте инструкциям, указанным в ссылке ниже, для части аутентификации Facebook.

https://ionicthemes.com/tutorials/about/native-facebook-login-with-ionic-framework

3) Основываясь на вышеуказанной статье, клонировал плагин в локальный каталог, а затем установил плагин в каталог приложения с помощью команды cordova. Согласно статье, я получил плагин из этого URL-адреса git. https://github.com/Wizcorp/phonegap-facebook-plugin

4) Установка плагина кажется успешной. Не было никаких ошибок в терминале. Я также вижу папку с плагином, но у нее, похоже, есть папка с именем "phonegap-facebook-plugin" вместо com.phonegap.plugins.facebookconnect. См. Комментарии в этой статье, если вы не можете понять, что я имею в виду. Не уверен, что это имеет какое-то отношение к моей проблеме.

5) Создайте приложение, используя команду ionic build ios.

6) Открыл папку xcodeproj внутри платформы /ios в Xcode и запускал приложение на симуляторе Xcode.

7) Когда я нажимаю кнопку "Войти с Facebook", я получаю "Не могу найти переменную: facebookConnectPlugin", как упоминалось в разделе вопросов выше.

8) Добавлен следующий код в методе run в app.js.I удалил фактический parseid, fbids из кода ниже для этого сообщения.

myApp.run(function ($ionicPlatform,$rootScope,$state) {
    $ionicPlatform.ready(function () {
        // Hide the accessory bar by default (remove this to show the accessory bar above the keyboard
        // for form inputs)
        if (window.cordova && window.cordova.plugins.Keyboard) {
            cordova.plugins.Keyboard.hideKeyboardAccessoryBar(true);
        }
        if (window.StatusBar) {
            StatusBar.styleDefault();
        }
        Parse.initialize("parseappid", "parsejskey");
        if (!(ionic.Platform.isIOS() || ionic.Platform.isAndroid())) {
            window.fbAsyncInit = function () {
                Parse.FacebookUtils.init({
                    appId: 'fbappid',
                    version: 'v2.5',
                    xfbml: true
                });
            };

            (function (d, s, id) {
                var js, fjs = d.getElementsByTagName(s)[0];
                if (d.getElementById(id)) {
                    return;
                }
                js = d.createElement(s);
                js.id = id;
                js.src = "//connect.facebook.net/en_US/sdk.js";
                fjs.parentNode.insertBefore(js, fjs);
            } (document, 'script', 'facebook-jssdk'));
        }          

    });  

9) Добавлено следующее после тела в файле index.html.

<div id = "fb-root"> </div>

10) Я даже попытался вручную добавить ссылку на facebookConnectPlugin.js (которая была установлена как часть установки плагина), скопировав этот файл js из каталога плагинов в каталог js (www\js), как некоторые статьи, предлагаемые в Интернете, но ничего похоже, заставляют его работать.

Смятения у меня есть?

1) Нужно ли мне также ссылаться на cordova.js в моем index.html? Я только ссылался на ng-cordova.js. 2) Предполагается ли facebookConnectPlugin работать в симуляторе Xcode?

Dev Environment Я использую

Mac OS X Yesomite, код Visual Studio, Safari/Chrome, Xcode (v7.1.1)
В основном тестирование с использованием симулятора Xcode и от Safari Develop

Теги:
facebook
cordova
ionic

1 ответ

0

Я застрял в подобной ситуации, но я могу перенаправить пользователя на страницу входа. Я не знаю, поможет ли это вам, но вы посмотрите.

См. " Google Firebase": обращайтесь к социальному логину для получения дополнительной информации об этом.

Я знаю это от парней Firebase, но в этой статье есть одно очень важное предложение:

Лучший способ создать гибридное приложение - как можно меньше разобраться с основными деталями Кордовы. Для этого Ион - ваш лучший друг. Ionic абстрагирует сложные части гибридного развития в простой в использовании SDK. Но есть еще одна сложность. Социальный вход. Вход в систему с социальным провайдером требует всплывающего окна или перенаправления. Проблема в том, что этого не существует в родном мире. Его все в порядке, но это еще один способ, и его легко.

И "простой способ" - управлять потоком вручную: Facebook: обработка потока входа вручную

Надеюсь, это поможет вам каким-то образом, хотя вы используете плагин для социального входа, и я этого не делаю.

Примечание. Используете ли вы inapp-браузер?.

Надеюсь это поможет

Ещё вопросы

Сообщество Overcoder
Наверх
Меню