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

Posted

技术标签:

【中文标题】iOS10 Facebook 登录弹出到根视图控制器【英文标题】:iOS10 Facebook login pops to root view controller 【发布时间】:2016-10-31 00:18:21 【问题描述】:

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

我在 ios10 上使用 FBSDK 4.17。

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

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

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

    UIViewController(触发登录的地方) UINavigationController UITabBarController

但是,我想简单地返回到发起 facebook 登录的同一个视图控制器,而不是 UINavigationController 的 rootViewController。

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

【问题讨论】:

【参考方案1】:

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

虽然这可行,但来自 Facebook SDK 的行为似乎很奇怪,并且没有在任何地方记录。

【讨论】:

以上是关于iOS10 Facebook 登录弹出到根视图控制器的主要内容,如果未能解决你的问题,请参考以下文章

从模态弹出到根视图控制器

如何关闭视图控制器并快速弹出到根视图控制器?

从 Popover 关闭或弹出到根视图控制器

弹出到根视图控制器,没有表视图的动画崩溃

弹出到根视图控制器时崩溃

iOS禁用按标签栏按钮弹出到根视图