2013-10-08 3 views
1

내 앱에는 Google 플러스를 사용하여 앱에 로그인 할 수있는 옵션이 있습니다. 로그인이 잘되고 있습니다. Google +에서 로그 아웃 할 수 없습니다. 로그인 버튼을 클릭하면 인증 대화 상자 페이지로 리디렉션되는 로그인 페이지가 표시되지 않습니다.구글 플러스 GPPSignIn에서 로그 아웃하는 방법?

내 코드는 다음과 같습니다

세계적으로 GPPSignIn * 로그인 절차를 가지고

- (IBAction)Logout:(id)sender { 
[[GPPSignIn sharedInstance] signOut]; 
[[GPPSignIn sharedInstance] disconnect]; 
} 
+0

이 문제가 너무 어려워서 .. – Gowtham

+0

"로그인 페이지"와 "인증 페이지"는 무엇을 의미합니까? – BrettJ

+0

안녕하세요, 이것은 오래된 게시물 인 것을 알고 있지만 여전히 관련이 있습니다. 내 대답을 고려하십시오 :) 감사. –

답변

3

을 로그 아웃하고 로그 아웃 버튼 액션

에 다음 코드를 추가하려면

GPPSignIn *signIn = [GPPSignIn sharedInstance]; 
signIn.shouldFetchGooglePlusUser = YES; 
signIn.shouldFetchGoogleUserEmail = YES; 
signIn.shouldFetchGoogleUserID= YES; 

signIn.clientID = kClientId; 
signIn.scopes = [NSArray arrayWithObjects:kGTLAuthScopePlusLogin,nil]; 
signIn.delegate = self; 

로그인하기

+0

또한 loginViewController보다 다른 뷰인 경우'signIn.delegate = self; 'thenDisconnectWithError' 메서드를 호출하고 장치 토큰을 취소합니다. –

2

210

[signIn signOut]; 
명시 적으로 작업이 성공하면

"는 OAuth는 2.0 토큰도 키 체인에서 제거 된 상태 documentation[GPPSignIn disconnect]에. 토큰은 분리 호출 할 경우 signOut를 호출하지 않도록 분리 할 필요가있다. "

@Revanth가 올바른지 만 (자신의 변수의 불행한 이름은 혼동 가독성을 수 있지만) signOut를 호출해야합니다.

기억하기 : 로그 아웃하면 사용자 정보를 삭제하지 않아도됩니다 .Google은 여러 계정을 보유한 사용자를 지원하므로 사용자가 로그 아웃 할 수 있도록 단순히 로그 아웃하는 것일 수 있습니다. 관련 계정.

다른 한편으로 연결 해제는 파괴적이며 모든 사용자 정보를 삭제해야합니다. 서버에서 다음에 로그인하면 앱 권한을 다시 부여해야합니다.

또한, 귀하의 응용 프로그램은 다음을 수행 할 수있는 능력이 포함되어야합니다 ( See the rules) 그들은 Google 계정에 연결되어있는 경우

알고, 그리고 만약 그렇다면 어떤 계정 수 있습니다.

Google 계정에서 응용 프로그램 연결을 끊습니다.

응용 프로그램에서 로그 아웃하십시오.