iOS10 Facebook 登录弹出到根视图控制器

iOS10 Facebook login pops to root view controller

问题: 当设备上未安装 facebook 应用程序时,将在我的应用程序中打开一个网络视图,用户可以在其中向我的应用程序授予权限。完成后,webview 关闭并显示 父 UINavigationController 的根视图控制器(2. 在层次结构中)。

我在 iOS10 上使用 FBSDK 4.17。

第一次 facebook 登录是这样调用的:

loginManager.logIn(withReadPermissions: ["public_profile", "email"], from: self) { (result, error) in
    self.loginCompleted(result: result, error: error)
}

来自以下层次结构中的 UIViewController:

  1. UIViewController(触发登录的地方)
  2. UINavigationController
  3. UITabBarController

但是,我只想 return 到发起 facebook 登录的同一个视图控制器,而不是 UINavigationController 的 rootViewController。

*我没有遇到网络视图无法关闭的问题。我确实实施了 application:openUrl

我通过在它自己的 UINavigationController 中嵌入触发 Facebook 登录的 UIViewController 来解决这个问题,我将其设为 rootViewController。

虽然这有效,但 Facebook SDK 的行为似乎很奇怪并且没有任何记录。