2011-08-30 5 views
4

GameCenter 지원을 추가 한 iPhone 게임이 있는데 모든 것이 정상적으로 작동하는 것 같습니다. 그러나 GameCenter를 사용하지 않는 사람으로서 사용자가 끌 수있는 옵션을 추가했습니다. 유일한 문제는 일단 GKLocalPlayer가 GameCenter에 로그인하면 사인 아웃 할 수있는 방법이 보이지 않는다는 것입니다. 즉, 사용자가 로그인하여 GameCenter 지원을 비활성화하면 내 앱에서 사용하지 않지만 GK 라이브러리는 앱이 종료 될 때까지 내 앱이 포 그라운드로 돌아올 때마다 사용자에게 다시 서명합니다. 나는이 일이 일어나기를 원하지 않는다!GameCenter - 로그 아웃 플레이어

GameCenter에서 로컬 플레이어를 로그하는 방법이 있습니까? 아니면 앱이 활성화 될 때마다 GK 프레임 워크가 다시 로그인하지 못하게 할 수 있습니까?

+0

'localPlayer.authenticateHandler = nil;'을 설정할 수 있습니다. –

+0

'authenticateHandler'는 nil이 아니어야합니다. –

답변

1

앱 내에서 게임 센터에서 로그 아웃 할 수있는 방법은 없습니다.

BOOL gameCenterOn = [[NSUserDefaults standardUserDefaults] boolForKey:@"gameCenterOn"]; 

가 YES로 기본, 사용자가 앱에서 게임 센터에서의 opts 경우 단지 NO로 설정 : 가장 좋은 방법은 사용자의 로그인 상태를 나타내는 부울 플래그를 추가하는 것입니다.

또한 게임 센터 요청을 처리하기 전에 해당 플래그의 값을 확인해야합니다. (앱 대표단에 [GKLocalPlayer localPlayer] authenticateWithCompletionHandler: 전화를 포함)

+0

그래, 기본적으로 내가 이미하고있는 일이야. 문제는 일단 로그인하면 GK가 앱이 사라지고 포 그라운드 상태를 되 찾을 때마다 로컬 플레이어를 자동으로 다시 인증하는 것처럼 보입니다. 그렇지 않으면 내가 알 수없는 방법을 찾을 수 없습니다. 따라서 사용자가 GK에 로그인하여 사용 중지하겠다고 결정하면 내 앱이 GameCenter와 더 이상 통화하지 않지만 작업이 다른 곳에서 내 앱으로 전환 할 때마다 GK는 여전히 플레이어의 뒤에서 다시 인증됩니다. 그것은 아무 것도 깨뜨리지 않지만 사람들의 소중한 3G 대역폭을 불필요하게 사용하게 될 것입니다! (저는 OP입니다) – GoatInTheMachine

+0

왜 사람들이 앱에서 게임 센터를 사용하지 못하도록 하시겠습니까? Game Center 계정이있는 경우 사용하지 않으시겠습니까? 게임 센터 앱에서 사용하지 않으려는 경우 언제든지 로그 아웃 할 수 있습니다. 게임 센터에 로그인했지만 앱과 함께 사용하고 싶지 않은 시나리오는 무엇입니까? 예상되는 동작을 코딩하는 것은 좋은 경고 신호입니다. –

+0

게임 센터 계정이 있지만 연결을 끊을 때 이상한 물건을 충돌하거나하지 않는 등 많은 앱이 정말 정말 좋지 않기 때문에 사용하지 않습니다. 즉, 특정 게임이 계속 활성화 될 때마다 GameCenter에 로그인하라는 메시지가 끊임없이 들려오는 것을 의미합니다. 이는 놀랄만큼 귀찮습니다. – GoatInTheMachine