我正在实现登录与谷歌在我的应用程序中使用可可荚。我一直在关注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副本