Выйти из системы ранее пользователя
в кнопку входа в систему вы должны позвонить, как это
let sighIn:GIDSignIn = GIDSignIn.sharedInstance()
sighIn.delegate = self;
sighIn.uiDelegate = self;
sighIn.shouldFetchBasicProfile = true
sighIn.scopes = ["https://www.googleapis.com/auth/plus.login","https://www.googleapis.com/auth/userinfo.email","https://www.googleapis.com/auth/userinfo.profile","https://www.googleapis.com/auth/plus.me"];
sighIn.clientID = "your client id"
sighIn.signIn()
GIDSignIn.sharedInstance().signOut()
Тогда остальные методы должны быть такими:
func sign(_ signIn: GIDSignIn!, present viewController: UIViewController!) {
self.present(viewController, animated: true, completion: nil)
}
func sign(_ signIn: GIDSignIn!, dismiss viewController: UIViewController!) {
self.dismiss(animated: true, completion: nil)
}
func sign(_ signIn: GIDSignIn!, didSignInFor user: GIDGoogleUser!, withError error: Error!) {
if (error != nil) {
return
}
reportAuthStatus()
if GIDSignIn.sharedInstance().currentUser.profile.hasImage {
imageURL = user.profile.imageURL(withDimension: UInt(120)) as NSURL
print("Image Url : \(imageURL)")
}
userdata = user
googleID = user.userID
let login_with = "google"
DeviceType = "ios"
self.TokenStr = user.authentication.idToken
let fullName = user.profile.name
let GivenName = user.profile.givenName
let FamilyName = user.profile.familyName
let email = user.profile.email
print("user details : \(GivenName,fullName,FamilyName,email,googleID)")
}
func sign(_ signIn: GIDSignIn!, didDisconnectWith user: GIDGoogleUser!, withError error: Error!) {
if (error != nil) {
} else {
}
}
func reportAuthStatus() -> Void {
let googleUser:GIDGoogleUser = GIDSignIn.sharedInstance().currentUser
if (googleUser.authentication != nil) {
print("Status: Authenticated")
} else {
print("Status: Not authenticated")
}
}
func refreshUserInfo() -> Void {
if GIDSignIn.sharedInstance().currentUser.authentication == nil {
return
}
if !GIDSignIn.sharedInstance().currentUser.profile.hasImage {
return
}
}
Попробуйте, надеюсь, вы получите вывод