Я использую плагин 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
в соответствии с инструкциями.
Есть идеи?Любой способ получить лучшее сообщение об ошибке, чтобы я мог выяснить, что может быть не так?