2013-09-05 2 views
0

iOS 6.0 용으로 개발 중이며 Game Center에 점수를 제출하고 있습니다. 인터넷 연결로 점수를 제출하면 모든 것이 잘 작동합니다.샌드 박스 계정에 대한 Game Center 점수 동기화가 작동합니까?

인터넷 연결을 끄고 리더 보드를 업데이트해야하는 점수를 제출하면 오류없이 완료 핸들러가 호출됩니다. 인터넷 연결을 다시 켜면 GameKit이 점수를 Game Center로 전달하고 리더 보드가 업데이트 될 것으로 기대하고 있습니다. 그러나 오랜 시간 (1 시간 이상) 후에도 업데이트되지 않습니다.

플레이어는 점수가 처음 제출되었을 때 인증되고 인터넷 연결이 다시 켜질 때 인증됩니다.

내가 누락 된 항목이 있습니까? 샌드 박스 계정에서 작동합니까? 내 점수 제출 코드는 다음과 같습니다 :

- (void)submitScore:(int64_t)score category:(NSString*)category { 

//1: Check if Game Center features are enabled 

if (!_gcEnabled) { 
    return; 
} 

//2: Create a GKScore object 

GKScore* gkScore = [[GKScore alloc] initWithCategory:category]; 

//3: Set the score value 

gkScore.value = score; 

//4: Send the score to Game Center 

[gkScore reportScoreWithCompletionHandler:^(NSError* error) { 

    [self setLastError:error]; 

    BOOL success = (error == nil); 

    if ([_delegate respondsToSelector:@selector(onScoresSubmitted:)]) { 

     [_delegate onScoresSubmitted:success]; 
    } 
}]; 

}

답변

1

그것은 캐시 점수가 인터넷에 연결되어 있지 않음이 없었다 동안 게임 센터에 제출 점수 즉, 게임 센터 때 자동으로 즉시 전송되지 않습니다 나타납니다 인터넷 연결이 복원됩니다. 대신 다음에 점수가보고 될 때 전송됩니다.

리더 보드 카테고리 x에 대해 캐시 된 점수가있는 경우 해당 카테고리와 관련된 새로운 점수를 제출해야합니다. 다른 카테고리에 대한 점수를 제출해도 카테고리 x에 대한 캐시는 비어 있지 않습니다.

+0

물론 이것은 샌드 박스 계정이있는 테스트 환경을 사용하는 게임의 동작 일 수 있습니다. – jay492355

+1

iTunes Connect에서 각 리더 보드에 최소> 0 점을 설정했습니다. 네트워크에 도달 할 수 있음을 감지하면 각 리더 보드에 대해 gkscore.value = 0 인 GKScore 객체를 제출합니다. Game Center는 점수를 거부하고 해당 리더 보드의 GKScore 개체의 로컬 캐시가 지워지고 Game Center에 다시 제출됩니다. – jay492355

관련 문제