使用谷歌登录在iOS 9上无法正常工作



我正在实现登录与谷歌在我的应用程序中使用可可荚。我一直在关注https://developers.google.com/identity/sign-in/ios/sign-in上的一切。我也添加了URL方案。但当我试图在iOS 9中登录谷歌账户时,它打开了浏览器,认证后应用程序没有回到我的应用程序,它卡在浏览器上。但功能在iOS 8上运行良好。有人能帮忙吗?

OpenURL方法如下:

- (BOOL)application:(UIApplication *)app
            openURL:(NSURL *)url
            options:(NSDictionary *)options {
    return [[GIDSignIn sharedInstance] handleURL:url
                               sourceApplication:options[UIApplicationOpenURLOptionsSourceApplicationKey]
                                      annotation:options[UIApplicationOpenURLOptionsAnnotationKey]];
}

- (BOOL)application:(UIApplication *)application
            openURL:(NSURL *)url
  sourceApplication:(NSString *)sourceApplication
         annotation:(id)annotation
{

    return [[GIDSignIn sharedInstance] handleURL:url
                               sourceApplication:sourceApplication
                                      annotation:annotation];

}

你没有给我们足够的信息。但是从你说它在iOS 8中工作得很好,而不是在iOS 9中,我猜是被AppTransportSecurity (ATS)设置阻止了。

https://developer.apple.com/library/mac/documentation/General/Reference/InfoPlistKeyReference/Articles/CocoaKeys.html//apple_ref/doc/uid/TP40009251-SW33

在iOS 9中,SDK应该使用SFSafariViewController而不是向浏览器打开。

您使用的是最新版本的SDK吗?它是4.0.0,在五月份发布。

提示:如果你是通过Cocoapods安装的,那么请确保你已经运行了pod repo update,以确保你得到了最新的spec repo副本

最新更新