난 당신이 GKLocalPlayer 발사에 대한 방법을 호출하고 있으리라 믿고있어 : 사용자가 제시된 로그인 화면을 취소하면 다시 이러한 메서드를 호출, -setAuthenticateHandler:
(> = iOS7에) 또는 -authenticateWithCompletionHandler:
(< = iOS6의)
을 아무것도하지 않는다, 오히려 완료 핸들러가 오류와 함께 호출됩니다. 사용자는 GameCenter 앱 또는 설정 앱을 통해 GameCenter에 로그인해야합니다. (테스트하는 동안 GameCenter 앱을 통해 로그인 한 다음 로그 아웃하면 사용자의 앱에서 화면을 다시 표시 할 수 있습니다.) GameCenter 앱을 통해 로그인하도록 사용자에게 알리는 UIAlertView를 표시 할 수 있습니다.
허용되거나 승인 가능한지 여부는 알 수 없지만 iOS7에서는 authenticateHandler
에 viewController
매개 변수에 로그인 화면이 있습니다. 이 로그인보기 컨트롤러를 인스턴스 변수에 저장하고 사용자가 로그인을 취소하면 나중에 UINavigationController
을 사용하여 다시 로그인 화면을 표시 할 수 있습니다.
-presentViewController:animated:completion:
으로 저장된 로그인보기 컨트롤러를 표시하려고하면보기 컨트롤러의 취소 단추가 더 이상 작동하지 않지만 UINavigationController
을 사용하면 취소 단추가 숨겨지고 사용자 고유의보기 컨트롤러로 다시 돌아갈 수 있습니다.
사용자가 GKPlayerAuthenticationDidChangeNotificationName
에 응답하여 로그인 한 후에 수동으로 로그인 화면을 숨겨야합니다. 개발자가이 작업을 수행 할 수 있도록 의도 된 것처럼 보이지 않으므로 승인을 통과하지 못할 수도 있지만 작동합니다!
는 GKLocalPlayer의 authenticateHandler 방법을 사용하여 시도 적이 있습니까? – san