Ошибка входа в Google в OS 9.2 Xcode 7.2

Я использую Xcode 7.2, тестирую на iOS 9.2 и использую модуль '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 вместо закрытия экрана.

1 ответ

Решение

Я думаю, это потому, что функция openUrl была изменена в iOS 9.

Чтобы решить эту проблему, аннотируйте функции в соответствии с доступной версией 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)
}

Дайте мне знать, если это решило вашу проблему.

Другие вопросы по тегам