Вход с использованием FirebaseUI не выходит из веб-просмотра и выдает ошибку

Я пытаюсь разрешить пользователям входить в систему, используя учетную запись Google, следуя руководству FirebaseUI. Когда я захожу в представленный браузер vc, я просто попадаю на домашнюю страницу Google и никогда не вхожу в систему. Единственный вариант - щелкнуть «Готово» с возвратом ошибки Error Domain=com.google.GIDSignIn Code=-5 "The user canceled the sign-in flow." UserInfo={NSLocalizedDescription=The user canceled the sign-in flow.} . Это действительно расстраивает и поддерживает всю мою команду, поскольку мы не могу заставить работать авторизацию, так кто-нибудь знает, как это исправить?

Примечание. Я использую iOS 9. Я не уверен, что это может быть связано с этим.


person Big_Mac    schedule 07.06.2016    source источник


Ответы (3)


Столкнулись с той же проблемой из видео Firecast, вам нужно добавить обратный вызов в AppDelegate.swift

func application(application: UIApplication,
  openURL url: NSURL, options: [String: AnyObject]) -> Bool {
    return GIDSignIn.sharedInstance().handleURL(url,
        sourceApplication: options[UIApplicationOpenURLOptionsSourceApplicationKey] as? String,
        annotation: options[UIApplicationOpenURLOptionsAnnotationKey])
}

Ссылка https://firebase.google.com/docs/auth/ios/google-signin

person vinbhai4u    schedule 14.08.2016

Я столкнулся с той же проблемой. Я использовал оба варианта react-native-google-signin и react-native-fbsdk. Решение найдено в указанной проблеме на react- собственный вход в Google.

Проблема заключается в конфликте react-native-google-signin с facebook sdk в AppDelegate.m.

Чтобы исправить это, отредактируйте AppDelegate.m следующим образом:

- (BOOL)application:(UIApplication *)application
            openURL:(NSURL *)url
            options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options {

  if ([url.scheme hasPrefix:@"fb"]) {
    return [[FBSDKApplicationDelegate sharedInstance] application:application
                                                          openURL:url
                                                sourceApplication:options[UIApplicationOpenURLOptionsSourceApplicationKey]
                                                       annotation:options[UIApplicationOpenURLOptionsAnnotationKey]
            ];


  }else{
    return [[GIDSignIn sharedInstance] handleURL:url
                               sourceApplication:options[UIApplicationOpenURLOptionsSourceApplicationKey]
                                      annotation:options[UIApplicationOpenURLOptionsAnnotationKey]];


      }
}

И это решение сработало для меня.

person Ajeet Choudhary    schedule 10.08.2018

Для Свифт 4

func application(_ application: UIApplication, open url: URL, options: [UIApplicationOpenURLOptionsKey : Any]) -> Bool {

if (url.scheme?.hasPrefix("fb"))! {
   return FBSDKApplicationDelegate.sharedInstance().application(application, open: url, options: options) 
}
else{
   return GIDSignIn.sharedInstance().handle(url,sourceApplication:options[UIApplicationOpenURLOptionsKey.sourceApplication] as? String,annotation: [:])
   }
}
person Maulik Patel    schedule 02.11.2018