FBSDKLoginBehaviorSystemAccount无效

我在我的目标c项目中使用Facebook SDK 4.3.0。 我需要使用在设置中配置的帐户登录facebook。

为此我正在使用:

FBSDKLoginManager *login = [[FBSDKLoginManager alloc] init]; login.loginBehavior = FBSDKLoginBehaviorSystemAccount; [login logInWithReadPermissions:@[@"public_profile", @"email", @"user_friends"] handler:^(FBSDKLoginManagerLoginResult *result, NSError *error) { if (error || result.isCancelled){ if (result.isCancelled) { NSLog(@"is canceled"); } else { NSLog(@"is not canceled"); } NSLog(@"facebook login error:%ld %@",(long)error.code,[error localizedDescription]); [self showErrorWithMessage:@"Couldn't login with Facebook"]; return; } FBSDKAccessToken *token = [FBSDKAccessToken currentAccessToken]; NSLog(@"facebook access token data: %@",token.tokenString); [[ApiClient shared] requestAccessToAccountWithFacebookTokenString:token.tokenString]; }]; 

在ipad中设置了facebook帐户,我运行了它,但我登录失败,错误描述“Facebook帐户尚未在设备上配置”和错误代码307(根据FBSDKLoginConstants.h,它是FBSDKLoginSystemAccountUnavailableErrorCode )。

我试过2个ipads,两者都发生了同样的事情。 如果我使用FBSDKLoginBehaviorNative它工作正常(意味着它使用本机应用程序忽略设置)。

如何使FBLoginView默认使用系统帐户请求相同,但唯一的答案是使用loginBehaviour,我已经在使用。 (我在评论中没有足够的声誉)。

Facebook SDK 4.7.0同样的问题。 SDK不使用NativeFlow for iOS版本> = 9.0.0。

https://github.com/facebook/facebook-ios-sdk/blob/master/FBSDKCoreKit/FBSDKCoreKit/Internal/ServerConfiguration/FBSDKServerConfigurationManager.m#L226-L228

你可以做的一切:
更改SDK中的代码
要么
更改SDK在[NSUserDefaults standardUserDefaults]存储的数据
要么
使用旧版本的FB SDK