Facebook登录本机登录时出现应用程序错误



我正在尝试将facebook登录与Flutter集成。Facebook登录使用FacebookLoginBehavior.webViewOnly,但我想使用本机对话框登录。这可不是闹腾。(仅限iOS(。。。。

Future<bool> facebookLogin(
BuildContext context, bool isCoach, AuthMode authMode) async {
final facebookLogin = FacebookLogin();
facebookLogin.loginBehavior = FacebookLoginBehavior.nativeOnly;
final result = await facebookLogin.logInWithReadPermissions(['email']);
print(result.status);
if (result.status == FacebookLoginStatus.loggedIn) {
var _token = result.accessToken.token;
return true;
}
return false;
}


Logs: flutter: FacebookLoginStatus.cancelledByUser

根据插件的问题列表,这是iOS 13的一个错误(https://github.com/roughike/flutter_facebook_login/issues/195)

使用device_info软件包,您可以对iOS 13设备进行以下检查,这样世界其他地方都可以享受原生视图

if (Platform.isIOS){
DeviceInfoPlugin deviceInfo = DeviceInfoPlugin();
IosDeviceInfo iosInfo = await deviceInfo.iosInfo;
String iosSystemVersion = iosInfo.systemVersion;
if (iosSystemVersion.startsWith('13')){
print('Running on IOS version $iosSystemVersion. Forcing facebook login to be webViewOnly');
_facebookSignIn.loginBehavior = FacebookLoginBehavior.webViewOnly;
}
}

相关内容

最新更新