2017-12-15 42 views
0

私のアプリでは、Google SDKのドキュメントごとにコードを実装していますが、Googleのログインボタンをクリックしても、新しいビューコントローラには空白の画面が表示されます。ここに複数のソリューションを試してみました:GIDSignIn white screen on iOS 91しかし、この問題を解決するのに幸運を祈るものではなく、画面を詳しく見るためにスクリーンショットを添付しています。 Blank Screen after clicking on Google Sign In buttonGoogleログインでiOSで空白の画面が表示される

私が使用しているポッド、

Pod List

実行XCodeの9.1、iOSの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

サインインアクションを実行するとき。プレゼンテーションビューコントローラは、UINavigationControllerのスタック内に存在する必要があります。 https://stackoverflow.com/a/45813089/871221 –

+0

これは既にUINavigationControllerスタックに入っていますが、それでも同じ結果が得られます。 FUNC記号(_ SIGNIN:GIDSignIn!、現在のViewController:!のUIViewController){ プリント( "記号:現在")としてもVCを押してみました? viewController.view.layoutIfNeeded() self.navigationController .pushViewController(のViewController 、アニメーション:true) // present(viewController、animated:true、completed:nil) } まだ同じ結果です。 –

0

最後に、多くの日の後に問題が見つかりました。私はappDelegateから、ウィンドウにサブビューとしてimgviewを追加して削除していたUIWindowの参照を使って、スプラッシュビューを表示していました。だから、何とかUINavigationのスタックを乱していましたし、私のView ControllerはUINavigationControllerを参照していませんでした。そのコードを削除した後、正常に動作しています。また、私はUIWindowのリファレンスを使用することができないので、私はスプラッシュ画面を表示する場合は、私は新しいVCを追加し、私のすべてのナビゲーションコードを書く必要がありますソリューションに来た。 @TedYuご協力いただきありがとうございます。 :)

関連する問題