2017-02-05 8 views
1

Я создаю приложение для создания телефонной закладки, содержащее логин facebook. Ниже приведены некоторые детали. - Приложение имеет Вход с помощью кнопки facebookPhonegap Построить плагин cordova-plugin-facebook4, не работающий на iOS

  • Он использует Cordova-плагин-facebook4 плагин (https://www.npmjs.com/package/cordova-plugin-facebook4)

  • Код интеграции ниже:

    facebookConnectPlugin.login(["public_profile"], 
    function(userData) { 
    alert("login"); 
    //fetch user info using graph api 
    facebookConnectPlugin.api("me/?fields=id,name,email,gender", ["email","public_profile"], 
    function (result) { 
    alert("login success"); 
    //store access token in local storage 
    facebookConnectPlugin.getAccessToken(function(token) { 
    console.log("Token: " + token); 
    }); 
    }, 
    function (error) { 
    alert("Failed: " + error); 
    }); 
    }, function(error){alert("error");} 
    ); 
    
  • Приведенный выше код отлично работает для приложения для Android.

- Приведенный выше код не работает в IOS приложение

Устройство, используемое для тестирования: IPad мини IOS версии 10.x.


На developer.facebook.com, настройки приложений для платформы IOS заключаются в следующем:

Bundle ID: такое же значение, как идентификатор виджета в config.xml для PhoneGap

iPhone магазин ID: пустой

URL схема суффикса: пусто

Ipad магазин ID: пусто

Single Sign On тумблер: ДА


Ниже текущее поведение для IOS IPad: 1. Пользователь нажимает на Вход с использованием Facebook в приложении IOS 2. Пользователь берется на странице разрешений Facebook в браузере сафари 3. Пользователь вводит идентификатор пользователя и пароль 4. Пользователь запрашивает разрешение и пользователь нажимает «Подтвердить» 5. В Safari отображается всплывающее окно с вопросом «Открыть в приложении?». 6. Пользователь нажимает Open 7. Пользователь загружается в одно и то же приложение и на той же странице и отображает одну и ту же ссылку для входа.

Обратите внимание, что элемент управления не передается обратно для продолжения сценария вообще, его почти что приложение было перезапущено с момента запуска.

Веб-инспектор Safari не обнаруживает ошибок.

GapDebug на mac (я использую версию виртуальной машины Yosemite mac), не обнаруживает ошибок.

Пожалуйста, помогите, поскольку я не очень уверен в этом, что еще мне не хватает.

ответ

0

Я знаю, что он опоздал, чтобы ответить на этот вопрос, но он может помочь другим исправить эту проблему. Итак, вот решение

<meta http-equiv="Content-Security-Policy" content="default-src * gap://ready; style-src 'self' 'unsafe-inline'; img-src 'self' data:; script-src * 'unsafe-inline' 'unsafe-eval'"> 

Добавьте это в index.html.Зазор: // готово требуется для iOS 10

+0

Не работает чувак, есть ли какие-либо другие шаги? – Sopo