2014-04-17 4 views
0

내 게임에서 로컬 플레이어의 친구 목록이 들어있는 사용자 지정 사용자 인터페이스를 구현합니다.점수가없는 플레이어의 경우 Game Center 리더 보드 점수 요청 완료 처리기가 호출되지 않습니다.

게임 센터 리더 보드도 있습니다.

GKLeaderboard *request = [[GKLeaderboard alloc] initWithPlayerIDs:myFriends]; 
    request.timeScope = GKLeaderboardTimeScopeAllTime; 
    request.identifier = @"my_leaderboards"; 
    if (request != nil) { 
     [request loadScoresWithCompletionHandler: ^(NSArray *scores, NSError *error) { 
      if (error != nil) { 
       NSLog(@"Error: %@",error.localizedDescription); 
      } 
      if (scores != nil) { 
       NSLog(@"WORKED: %@",scores); 
      } 
     }]; 
    } 

을 그리고 그것은 잘 작동합니다 : 나의 게임은 플레이어를 나열 할 때

, 또한이 코드를 사용하여 리더 보드에서 자신의 점수를로드하려고합니다.

... 친구 중 한 명이 점수가없는 경우를 제외하고는 (예를 들어, 처음에는 게임을 한 적이 없습니다.) myFriends에있는 플레이어 중 하나가 리더 보드에 점수 항목이없는 경우 완료 핸들러는으로 호출되지 않습니다. 아무런 오류도없고 아무런 점수도보고되지 않습니다. 왜냐하면 처음에는 절대 불이 나지 않기 때문입니다.

두 명의 친구가있는 계정을 테스트 할 때 이것을 깨달았습니다. 한 친구가 게임을 했으므로 (점수를 얻었으므로) 다른 사람은 그렇지 않았습니다. 완료 핸들러가 호출되지 않았습니다. 그런 다음, 점수가없는 녀석과 친하게 지내지 못했고 완성 처리자가 잘 작동하여 점수가있는 친구의 점수를 받았습니다.

나는이 행동을 다소 이해합니다. 어쨌든 나는 존재하지 않는 점수를 주겠다고합니다. 하지만 해결 방법이 있습니까? 에서와 마찬가지로 점수가없는 경우 0을 반환하도록 지시 하시겠습니까? 순위표에서 점수를 항목이 없기 때문에

아이폰 OS는 7

답변

0

그것은 도움이 될 수 없습니다, 완료 핸들러가 실제로 호출되지 않습니다. 나는 아직도 이해가 안되지만 왜 그렇게 말하는 것은 오류를 반환하지 않습니다.

맞춤 친구 목록에는 통계 만 표시되므로 각 통계에 대한로드 아이콘을 배치합니다. 처리기가 10 초 이상 호출되지 않으면 점수 입력이없고 0 만 표시한다고 가정합니다.