2017-12-15 29 views
0

내 앱에서 줄 단위로 google SDK 설명서에 따라 코드를 구현했지만 Google 로그인 버튼을 클릭하면 빈 화면이있는 webview로 새로운보기 컨트롤러로 이동합니다. 여러 솔루션을 여기에서 찾으려고 시도 : GIDSignIn white screen on iOS 91. 그러나 문제를 해결하는 데는 행운이 없으므로 스크린 샷을 첨부하여 화면을 자세히 볼 수 있습니다. Blank Screen after clicking on Google Sign In buttonGoogle 로그인 iOS에서 빈 화면 표시

내가 사용 포드,

Pod List

실행 엑스 코드 9.1, 아이폰 OS 10.0 이후는 다음과 같습니다. 친절하게 누군가에게 도움을 요청하십시오.

업데이트 :보기 계층 구조 enter image description here

업데이트 :있는 viewDidLoad의 코드 :

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) 

} 

답변

0

나는 같은 문제가 있습니다. 나는 UIAlertView를 사용하여 사용자가 정말로 권한 부여를 원한다는 것을 확인합니다. 빈 화면이 표시됩니다. UIAlertView를 제거하고 권한보기를 직접 표시하십시오. 그것은 잘 작동합니다. Dropbox 인증 화면에도 문제가 표시됩니다. 당신이 UIAlertView를 사용하지 않으면 는 최상위 컨트롤러이가 도움을 할 수

https://github.com/dropbox/dropbox-sdk-obj-c/issues/182

희망을 전달하는 시도하십시오.

+0

안녕하세요, 회신 및 참조 링크를 부탁드립니다. 인증을 위해 UIAlertView를 표시하려고 시도했지만 여전히 문제가 지속됩니다. 또한 "최상위 컨트롤러를 전달하려고 노력하십시오"또는 제게 도움이되는 코드에 대해 자세히 설명해주십시오. –

+0

SignIn 작업을 수행 할 때. 표시 컨트롤러는 UINavigationController 스택에 있어야합니다. https://stackoverflow.com/a/45813089/871221 –

+0

이미 UINavigationController 스택에 있지만 여전히 동일한 결과가 발생합니다. 또한 VC 밀어 넣기 시도했다 : 함수 기호 (_ signIn : GIDSignIn !, 현재 viewController : UIViewController!) { print ("sign : present") viewController.view.layoutIfNeeded() self.navigationController? .pushViewController (viewController , animated : true) // present (viewController, animated : true, 완료 : 없음) } 여전히 같은 결과입니다. –

0

마지막으로 많은 시간이 지나면 문제가 발견되었습니다. imgview를 창에 추가하고 제거하는 UIWindow의 refrence를 사용하여 appDelegate에서 스플래시보기를 표시했습니다. 그래서 그것은 어떻게 든 UINavigation의 스택을 엉망으로 만들고 내 View Controller는 UINavigationController에 대한 참조를 얻지 못했습니다. 해당 코드를 제거한 후 잘 작동합니다. 또한 UIWindow의 참조를 사용할 수 없기 때문에 스플래시 화면을 표시하려면 새로운 VC를 추가하고 거기에 내 탐색 코드를 모두 써야한다는 솔루션에 왔습니다. @ TedYu 도움을 주셔서 대단히 감사합니다. :)