трепетание google_sign_in аварии: __exceptionPreprocess + 294 - PullRequest
0 голосов
/ 25 мая 2018

Я использую плагин google_sign_in в приложении флаттера для входа. Используя код из пример Код для входа в систему просто:

GoogleSignIn _googleSignIn = new GoogleSignIn(
  scopes: <String>[
    'email',
    'https://www.googleapis.com/auth/spreadsheets',
    'https://www.googleapis.com/auth/drive.metadata',
  ],
);

Future<Null> _handleSignIn() async {
    print("_handleSignIn");
    try {
      await _googleSignIn.signIn();
    } catch (error) {
      print("We failed");
      print(error);
    }
  }

Это работает на Android.Я нажимаю кнопку входа, и появляется всплывающее окно, и я могу войти в систему.

Но этот простой пример вылетает на iOS.Когда приложение вызывает _handleSignIn выше, вызов _googleSignIn.signIn() приводит к сбою приложения (оно исчезает) с сообщением об ошибке:

flutter: _handleSignIn
*** First throw call stack:
(
    0   CoreFoundation                      0x000000010fe581e6 __exceptionPreprocess + 294
    1   libobjc.A.dylib                     0x000000010f4ed031 objc_exception_throw + 48
    2   CoreFoundation                      0x000000010fecd975 +[NSException raise:format:] + 197
    3   Runner                              0x000000010ce61d8b -[GIDSignIn signInWithOptions:] + 242
    4   Runner                              0x000000010ce5e777 -[GIDSignIn signIn] + 64
    5   Runner                              0x000000010ce591b2 -[FLTGoogleSignInPlugin handleMethodCall:result:] + 2114
    6   Flutter                             0x000000010d1af716 __45-[FlutterMethodChannel setMethodCallHandler:]_block_invoke + 118
    7   Flutter                             0x000000010d1c5370 _ZNK5shel<…>
Lost connection to device.

У меня нет опыта создания приложений для iOS, поэтому я, вероятно, сделал что-то не так,Я следовал инструкциям , добавил GoogleService-Info.plist с firebase.com и обновил свой Info.plist в соответствии с инструкциями.

Есть идеи?Любой способ получить лучшее сообщение об ошибке, чтобы я мог выяснить, что может быть не так?

Ответы [ 2 ]

0 голосов
/ 25 сентября 2018

Просто была такая же проблема.Это потому, что я добавил логин Google и Facebook.

Решение:

Настройка Info.plist.Поиск CFBundleURLTypes.Вы увидите, что у вас есть ДВАЖДЫ.Это не правильно.С фейсбука скопируйте часть <string>fb??????????????</string> и вставьте ее в тот же массив в части Google.Затем удалите CFBundleURLTypes из части Facebook.

Справочная информация:

Если вы просто следуете инструкциям в Google Login и Facebook, тогда вы вставите раздел CFBundleURLTypes для Google иодин для фейсбука.Только последний будет поднят.Так что Google там нет.Таким образом, при попытке войти с помощью входа в Google это вызовет исключение, потому что он не правильно настроен.Поскольку схема URL-адреса Google была перезаписана на странице Facebook.

Связанные проблемы, которые помогли мне разобраться в проблеме:

0 голосов
/ 26 мая 2018

Не уверен, в чем проблема.Я сделал это снова и снова, и теперь это работает.Возможно, это была ошибка «вырезать и вставить».

Единственное, что я сделал, это установил команду на вкладке «Общие» в моей личной команде.Ранее это было неустановлено.Не знаю, имеет ли это значение или нет.

Set team

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...