我正在将Firebase与Google签名集成。它与我的虚拟项目工作正常但在我的项目中它显示了空白的safari页面,其中包含"网站名称"点击GIDSignInButton时。
我认为有一些项目设置正在影响我的Firebase Google签名代码。
请建议。
答案 0 :(得分:0)
我找到了这个问题的原因。 我在我的项目中使用AMSlideMenu库作为侧面板,对safari有影响。这很奇怪但是在移除侧面板之后一切正常。
答案 1 :(得分:0)
我的问题的原因是在展示Google签名视图控制器时[UIApplication sharedApplication].keyWindow
为nil
。
我创建了一个方法,用于检索并重新分配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;
}
答案 2 :(得分:-1)
重新启动手机似乎对我有用。