FirebaseとGoogleの署名を統合しています。私のダミープロジェクトでうまくいきましたが、私のプロジェクトでは、GIDSignInButtonをクリックすると、空のサファリページに「ウェブサイト名」が表示されます。Firebase Google署名では、ウェブサイト名が空白のSafariページが表示されます。
私は私のFirebase Googleの署名コードに影響を与えているいくつかのプロジェクトの設定があると思います。
お勧めします。
FirebaseとGoogleの署名を統合しています。私のダミープロジェクトでうまくいきましたが、私のプロジェクトでは、GIDSignInButtonをクリックすると、空のサファリページに「ウェブサイト名」が表示されます。Firebase Google署名では、ウェブサイト名が空白のSafariページが表示されます。
私は私のFirebase Googleの署名コードに影響を与えているいくつかのプロジェクトの設定があると思います。
お勧めします。
この問題の原因がわかりました。 サファリに影響する私のプロジェクトのサイドパネルにAMSlideMenuライブラリを使用しています。それは奇妙ですが、サイドパネルを外した後はすべて正常に動作します。
電話を再開すると、私の仕事がうまくいくようです。
私の問題の原因は、Google Signing View Controllerを提示したときにnil
である[UIApplication sharedApplication].keyWindow
でした。
keyWindow
を取得して再割り当てする方法を作成し、ウィンドウを表示してGoogle Signing SDKが作業を続けるようにしました。この中にこれらのステップと
- (void) signIn:(GIDSignIn *)signIn presentViewController:(UIViewController *)viewController
{
UIViewController *topViewController = [WindowUtils GetTopMostController];
[topViewController presentViewController:viewController animated:YES completion:nil];
}
WindowUtils.m
+ (UIViewController*) GetTopMostController
{
UIViewController *topController = [UIApplication sharedApplication].keyWindow.rootViewController;
if(topController == nil)
{
UIWindow *keyWindow = [[[UIApplication sharedApplication] delegate] window];
//reassign the keywindow
[keyWindow makeKeyAndVisible];
topController = keyWindow.rootViewController;
}
return topController;
}
チェックがhttp://stackoverflow.com/a/37487208/4831524 –
上記の手順が、まだ表示され、問題をチェックANS。 – Sachin