1

Я следую учебнику Facebook Auth на сайте Firebase. Вы можете увидеть здесь: https://www.firebase.com/docs/web/libraries/ionic/guide.htmlIonic Firebase Auth Popup Window закрывается немедленно

$scope.login = function() { 
Auth.$authWithOAuthRedirect("facebook").then(function(authData) { 
    // User successfully logged in 
}).catch(function(error) { 
    if (error.code === "TRANSPORT_UNAVAILABLE") { 
    Auth.$authWithOAuthPopup("facebook").then(function(authData) { 
     // User successfully logged in. We can log to the console 
     // since we’re using a popup here 
     console.log(authData); 
    }); 
    } else { 
    // Another error occurred 
    console.log(error); 
    } 
}); 
}; 

Моя проблема заключается в том, что я правильно получать ошибку TRANSPORT_UNAVAILABLE и я получаю к следующей строке кода

Auth.$authWithOAuthPopup("facebook").then(function(authData) { 
    // do stuff with the authData 
}) 

Но, когда я бегу на моем устройстве или в эмуляторе, всплывающее окно, которое поступает из плагина InAppBrowser, немедленно закрывается и не позволяет мне вводить какие-либо мои учетные данные.

EDIT

Две вещи, которые следует учитывать. Во-первых, с вышеуказанным кодом auth не работает, когда выполняется через браузер. Так что, если я ionic serve и попытаться не войти, ничего не происходит, за исключением, что я вижу изменения URL-адреса на короткое время для http://localhost:8100/#/login&__firebase_request_key=0wRrfF07Ojg1PmJXNX1OsvrRFR2Q1LGj , но затем оно восходит к http://localhost:8100/#/login

Во-вторых, когда я построить проект через Xocde и запустить на устройстве, в InAppBrowser плагин, похоже, больше не закрывается сразу, а вместо этого замирает с белым экраном. Бревна в Xcode показывают следующие

THREAD WARNING: ['InAppBrowser'] took '79.103027' ms. Plugin should use a background thread. NSURLSession/NSURLConnection HTTP load failed (kCFStreamErrorDomainSSL, -9802) webView:didFailLoadWithError - -1200: An SSL error has occurred and a secure connection to the server cannot be made. РЕДАКТИРОВАНИЕ 2

выглядит как выше проблемы с ошибкой SSL был из-за несвязанной ошибка с обновлением до Ios 9. С тех пор я исправил эти проблемы, и теперь я» m обратно к оригиналу. За исключением того, что окно InAppBrowser даже не открывается, я все равно нажимаю блок catch с TRANSPORT_UNAVAILABLE.

ответ

1

Не знаю, как я исправил эту проблему. Трудно изолировать то, что первоначально ломалось и что ломалось из-за обновлений ios 9. Но я смог исправить эту проблему. Я начал с того, что убрал папки /ios и /android внутри /platforms. Я также удалил все плагины из папки /plugins.

Затем я добавил обратно ios and android platform. Затем я добавил обратно плагины. Затем я выполнил шаги, описанные в этих двух блогах, изменяя ваше приложение, чтобы быть комплиментом ios 9.

http://blog.ionic.io/ios-9-potential-breaking-change/

http://blog.ionic.io/preparing-for-ios-9/