Google OS 9.2 Xcode 7.2 中的登录问题

Google Login Issue in OS 9.2 Xcode 7.2

我正在使用 Xcode 7.2,在 iOS 9.2 上测试并使用 pod 'Google/SignIn'

登录成功并允许权限后,它会重定向到 google.co.in 页面,而不是关闭屏幕并调用他们的委托。同样在 OS 7.0 和 8.0 中工作正常。下面是用于登录的代码。

GIDSignIn*sigNIn=[GIDSignIn sharedInstance];
[sigNIn setDelegate:self];
[sigNIn setUiDelegate:self];
sigNIn.shouldFetchBasicProfile = YES;
sigNIn.allowsSignInWithBrowser = NO;
sigNIn.allowsSignInWithWebView = YES;
sigNIn.scopes = @[@"https://www.googleapis.com/auth/plus.login",@"https://www.googleapis.com/auth/userinfo.email",@"https://www.googleapis.com/auth/userinfo.profile"];
sigNIn.clientID =@"77904325793-iqdungs3ugddrf7h767pgagviokfi4cg.apps.googleusercontent.com";
[sigNIn signIn];



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


}

登录后它重定向到 google.co.in 而不是关闭屏幕。

估计是因为iOS9.

openUrl函数改了

为了解决这样的问题,根据可用的iOS版本注释功能。

这是我解决问题的方法:

@available(iOS 9.0, *)
func application(app: UIApplication, openURL url: NSURL, options: [String : AnyObject]) -> Bool {

    return GIDSignIn.sharedInstance().handleURL(url, sourceApplication: options[UIApplicationOpenURLOptionsSourceApplicationKey]! as! String, annotation: options[UIApplicationOpenURLOptionsAnnotationKey])
}

@available(iOS 8.0, *)
func application(application: UIApplication,
    openURL url: NSURL, sourceApplication: String?, annotation: AnyObject) -> Bool {

    return GIDSignIn.sharedInstance().handleURL(url, sourceApplication: sourceApplication!, annotation: annotation)
}

如果这解决了您的问题,请告诉我。