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)
}
如果这解决了您的问题,请告诉我。
我正在使用 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)
}
如果这解决了您的问题,请告诉我。