登录无法使用最新的Facebook SDK

iph*_*nic 8 facebook objective-c ios sfsafariviewcontroller

我正在运行使用Facebook SDK(4.9.1)的问题,如果没有系统帐户,它将在应用浏览器中打开以进行登录.

从系统登录Facebook帐户运作良好.我使用以下代码

FBSDKLoginManager *manager = [[FBSDKLoginManager alloc] init];
   manager.loginBehavior = FBSDKLoginBehaviorSystemAccount;
   [manager logInWithReadPermissions:@[@"public_profile",@"email",@"user_friends"] fromViewController:controller handler:^(FBSDKLoginManagerLoginResult *result, NSError *error) {
            if (error) {
                success(kFacebookStatusFailed);
            } else if (result.isCancelled) {
                success(kFacebookStatusCancelled);
            } else {
                success(kFacebookStatusSuccess);
            }
}];
Run Code Online (Sandbox Code Playgroud)

我已正确完成此处定义的所有必需的info.plist设置.

问题是当它使用inapp浏览器登录时,实际上是使用调试找到的SafariViewController.它经历了所有登录过程,但最后它卡在一个白色的空白屏幕,并没有解散,见下面的截图

在此输入图像描述

已经尝试了所有可能的步骤,但无法克服它.但是,当我设置新项目时,只有上述登录代码和正确的设置,一切正常.

Fresh项目和原始项目的唯一区别是应用程序中使用的不同框架的数量,如Crashlytics,Fabric,Instabug,Google Frameworks等.我是否应该怀疑这些框架导致问题,我认为没有.那么,可能是什么问题,任何遇到同样问题并且可以帮助我的人都将不胜感激.

谢谢.

Axo*_*ort 6

我遇到了同样的问题.将其添加到AppDelegate:

在AppDelegate.m中

  1. application:didFinishLaunchingWithOptions:

    -(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
        [[FBSDKApplicationDelegate sharedInstance] application:application
                             didFinishLaunchingWithOptions:launchOptions];
    }
    
    Run Code Online (Sandbox Code Playgroud)
  2. 将以下方法添加到AppDelegate.m:

    -(BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation {
      return [[FBSDKApplicationDelegate sharedInstance] application:application openURL:url sourceApplication:sourceApplication annotation:annotation];
    }
    
    Run Code Online (Sandbox Code Playgroud)

我不知道是否SafariViewController检查了application:openURL:sourceApplication:annotation但这对我有用.试试看.我希望这个对你有用.

资料来源:https://developers.facebook.com/docs/ios/getting-started