Google登录在iOS中显示空白屏幕 [英] Google Sign In showing blank screen in iOS

查看:134
本文介绍了Google登录在iOS中显示空白屏幕的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我已经在我的应用程序中逐行实现了google SDK文档的代码,但是当我单击google登录按钮时,应用程序仍会切换到具有空白屏幕的webview的新视图控制器.已尝试在此处找到多种解决方案: iOS 9上的GIDSignIn白屏 1 .但是没有解决问题的灵丹妙药,附上了屏幕快照,以使您对屏幕进行更仔细的查看.

I have implemented code as per the google SDK documentation line by line in my app, but still when I click on google sign in button app shifts to new view controller with webview with blank screen. Have tried multiple solution found here : GIDSignIn white screen on iOS 91. But no lucks with resolving the problem , have attached the screen shot for getting closer look about the screen.

以下是我正在使用的豆荚,

Following are the pods that I'm using,

运行XCode 9.1,iOS 10.0和更高版本.请请求某人帮助.

Running XCode 9.1, iOS 10.0 and later. Kindly request someone to help.

更新:查看层次结构

Update: View Hierarchy

更新:viewDidLoad的代码:

Update: viewDidLoad's code:

 GIDSignIn.sharedInstance().uiDelegate = self
    if self.isChangePassword {
        self.addSignInView()
    }
    else {
        self.addSignUpView()
    }


fileprivate func addSignInView() {
    guard let signInEmailView: SignInEmailView = Bundle.main.loadNibNamed(NibNames.SignInEmailView.rawValue, owner: self, options: nil)?[0] as? SignInEmailView
        else {
            return
    }
    signInEmailView.delegate = self
    gaManager.trackScreen(screenName: ScreenNames.SignIn.rawValue)
    self.animateView(signInEmailView)

}

fileprivate func addSignInView() {
    guard let signInEmailView: SignInEmailView = Bundle.main.loadNibNamed(NibNames.SignInEmailView.rawValue, owner: self, options: nil)?[0] as? SignInEmailView
        else {
            return
    }
    signInEmailView.delegate = self
    gaManager.trackScreen(screenName: ScreenNames.SignIn.rawValue)
    self.animateView(signInEmailView)

}

推荐答案

最后几天,终于找到了问题所在.我正在使用UIWindow的刷新显示来自appDelegate的启动视图,该UIWindow正在添加和删除imgview作为窗口的子视图.因此,它以某种方式弄乱了UINavigation的堆栈,并且我的视图控制器没有获得对UINavigationController的任何引用.删除该代码后,它可以正常工作.还涉及到以下解决方案:如果我想显示初始屏幕,因为我无法使用UIWindow的引用,则必须添加新的VC并在其中编写所有导航代码. @TedYu非常感谢您的帮助. :)

Finally after so many days found the problem. I was showing splash view from my appDelegate using refrence of UIWindow which was adding and removing an imgview as subview to the window. So it was somehow messing with the UINavigation's stack and my view controller was not getting any reference to the UINavigationController. After removing that code it's working just fine. Also came to the solution that, if I want to show splash screen, as I can't use UIWindow's reference, I have to add new VC and write my all navigation code there. @TedYu Thank you very much for the help. :)

这篇关于Google登录在iOS中显示空白屏幕的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆