使用Facebook的新tvOS SDK成功登录后尝试转换为新的视图控制器时出现错误:
警告:尝试在FBSDKDeviceLoginViewController上显示Reconnect.LoadingViewController,其视图不在窗口层次结构中!
我实施了Facebook的委托方法:
func deviceLoginButtonDidLogIn(button: FBSDKDeviceLoginButton) {
self.performSegueWithIdentifier("segueToLoading", sender: nil)
}
错误信息是说正在被解雇的FBSDKDeviceLoginViewController执行segue,当我打印出self时,情况并非如此,这确实是我的视图控制器。任何人都知道怎么解决这个问题?
谢谢!
答案 0 :(得分:1)
这是我们将在下一个版本中修复的错误。 FBSDKDeviceLoginViewController
(显示确认代码的模式对话框)应在解雇完成后通知其代理人(您的视图控制者)。在此期间,您可以使用此代码段作为解决方法,以便视图控制器等待FBSDKDeviceLoginViewController
转换(解雇)完成:
if let t = self.presentedViewController?.transitionCoordinator() {
t.animateAlongsideTransition(nil, completion: {
(UIViewControllerTransitionCoordinatorContext c) -> Void in
self.performSegueWithIdentifier("segueToLoading", sender: self)
})
} else {
// the 'else' is just so that this same code will work after we fix the bug in the SDK.
self.performSegueWithIdentifier("segueToLoading", sender: self)
}