Интеграция iOS с Google SignIn не выходит из приложения

я интегрировал Google SignIn в свое приложение iOS, вручную перейдя по ссылке [https://developers.google.com/identity/sign-in/ios/start-integrating], и он хорошо работает для входа в систему, но его метод выхода из системы, похоже, не работает, он кэширует учетные данные пользователя, введенные изначально. я хочу чтобы отображать экран входа каждый раз, когда пользователь нажимает кнопку входа (настраиваемая кнопка). Я пробовал очищать файлы cookie, учетные данные, но ничего не работает. Где он хранит учетные данные, потому что при открытии страницы входа в Google в сафари вне приложения он запрашивает учетные данные .Как я могу выйти из приложения, помогите, пожалуйста?

   @IBAction func googlePlusButtonTouchUpInside(sender: AnyObject)
   {
   let file =  NSBundle.mainBundle().pathForResource("GoogleService-Info", ofType: ".plist")
    let dictionary = NSMutableDictionary.init(contentsOfFile: file!)
     if let clientID = dictionary!["CLIENT_ID"]
     {

        GIDSignIn.sharedInstance().shouldFetchBasicProfile = true
        GIDSignIn.sharedInstance().clientID = clientID as! String
        GIDSignIn.sharedInstance().delegate = self
        GIDSignIn.sharedInstance().uiDelegate = self
        GIDSignIn.sharedInstance().signIn()
    }

}

    func signIn(signIn: GIDSignIn!, didSignInForUser user:     GIDGoogleUser!, withError error: NSError!)
{

    if error == nil
    {
        let userId = user.userID
        let tokenId = user.authentication.idToken
        let fullName = user.profile.name
        let givenName = user.profile.givenName
        let email = user.profile.email
        print("Welcome: ,\(userId), \(tokenId), \(fullName), \(givenName),\(email)")

        GIDSignIn.sharedInstance().signOut()
        GIDSignIn.sharedInstance().disconnect()
    }
    else
    {
        //show message for user cancelled sign in
        print("\(error.localizedDescription)")
    }

}

person Nitisha Sharma    schedule 03.11.2016    source источник
comment
Вы внедрили didDisconnectWithError? Если нет, пожалуйста, внедрите, и если он не выходит из системы, он покажет ошибку в этом методе.   -  person Wolverine    schedule 03.11.2016
comment
@Wolverine, didDisconnectWithError уже реализован и не показывает никаких ошибок.   -  person Nitisha Sharma    schedule 03.11.2016
comment
Вы где-нибудь устанавливали trySilentAuthentication в своем коде?   -  person Wolverine    schedule 03.11.2016
comment
Обычно библиотека GPP сохраняет учетные данные пользователя в цепочке ключей, поэтому в следующий раз она не запрашивает повторный вход в систему. вместо этого он войдет в систему молча.   -  person Wolverine    schedule 03.11.2016
comment
Вы можете проверить это с помощью GIDSignIn.sharedInstance().hasAuthInKeychain(), он вернет TRUE, если Auth уже сохранен, или FALSE, если не сохранен.   -  person Wolverine    schedule 03.11.2016
comment
установите флаг в useDefault и проверьте это значение и решите, какой экран вы хотите открыть   -  person Mayank Jain    schedule 03.11.2016
comment
GIDSignIn.sharedInstance().hasAuthInKeychain() возвращает false, но все же перенаправляет на страницу разрешений, а не на SignIn.   -  person Nitisha Sharma    schedule 03.11.2016
comment
Привет Нитиша, ты нашел ответ?   -  person Emanuel    schedule 30.03.2017
comment
@Эмануэль - нет, я не могу найти   -  person Nitisha Sharma    schedule 19.04.2017
comment
Кто-нибудь нашел ответ на это еще? Все еще сталкиваясь с той же проблемой, выход из системы и отключение не работают. Я также пытался обновить токены, используя GTMAppAuth и т. Д. Он непреклонен в том, что он будет использовать файлы cookie или некоторую сохраненную аутентификацию, которую я не могу очистить.   -  person Elliott D'Alvarez    schedule 27.03.2018
comment
К вашему сведению, здесь возникла ошибка, но ответа нет: github.com/googlesamples/google-services /вопросы/326   -  person Elliott D'Alvarez    schedule 27.03.2018


Ответы (1)


Если вы хотите выйти из Google, напишите ниже код.

GIDSignIn.sharedInstance().signOut()

person Jay Bhadja    schedule 03.11.2016