iOSでFlutterのgoogle_sign_inが動かない...
Flutterのfirebase_authとgoogle_sign_inで、Google sing inを実装していた。
Android側は問題なく動いたが、iOSがどうにも動かない。
GoogleSignIn().signIn()
のsignIn()
でクラッシュする。
FlutterFireのiOS Installationを舐めるように読み返してみても解決しない。
- google_sign_in: 4.5.3
- iOS: 10.3.1
解決策
GoogleSignIn( scopes: ['email', 'profile'], hostedDomain: '', clientId: '',).signIn();
GitHub issueで解決策見つけた。
https://github.com/flutter/flutter/issues/44564#issuecomment-575883100
どうやらライブラリで、パラメータのnullチェックが足りてないらしい。
もっと少ないパラメータで大丈夫だった人も。
https://github.com/flutter/flutter/issues/44564#issuecomment-655884103
他のハマりポイント
先のissueをみてると、設定漏れでハマってる人もちらほら。
https://pub.dev/packages/google_sign_in#ios-integration
ここにある通り、
-
GoogleService-Info.plist
をFirebaseコンソールからDLして、[my_project]/ios/Runner
に追加する。 -
CFBundleURLTypes
をInfo.plist
に追記する。 - この時、stringタグの中身を、先の
GoogleService-Info.plist
に書いてあるREVERSED_CLIENT_ID
で置き換える。
...のをお忘れなく。