1

그래서 initializeGameCenter()를 한 번 호출 한 후 내 애플리케이션이 포 그라운드로 돌아올 때마다 (authenticateWithCompletionHandler 이후) 아래 블록이 호출되는 것으로 나타났습니다 - Game Center의 이러한 일반적인 동작입니까? ? (난 단지 블록 호출지고 있는지 확인하기 위해 중단 점을 배치 확인했다 아니라 initializeGameCenter 자체) 게임 키트 프로그래밍 가이드에서게임 센터 인증 블록이 계속 호출 됨

- (void)initializeGameCenter 
{ 
    // Don't initialize Game Center unless we have access to the classes from iOS 4.1 or greater. 

    if (![self isGameCenterAvailable]) { 
     return; 
    } 



    [[GKLocalPlayer localPlayer] authenticateWithCompletionHandler:^(NSError *error) { 

     NSDictionary *userInfo = nil; 
     if (error == nil) { 
      // Game Center will present a "Welcome Back" message when we have authenticated 
      GTMLoggerInfo(@"Game Center successfully authenticated"); 
     } 
     else { 
      userInfo = [NSDictionary dictionaryWithObject:error forKey:@"NSError"]; 
      GTMLoggerDebug(@"error authenticating game center"); 
     } 
     [[NSNotificationCenter defaultCenter] postNotificationName:GameCenterAuthenticateDidFinishNotification 
                  object:self 
                  userInfo:userInfo]; 

    }]; 
} 

답변