2011-01-16 4 views
3

나는 게임 키트 API와 함께 연주하고있어 내가조차 오류가 반환되지 않습니다 코드의 아주 간단한 블록을 가지고 ...iOS 개발 : 왜 loadScoresWithCompletionHandler가 반환하지 않습니까? 오류가 없기 때문에

GKLeaderboard *pointsRequest = [[GKLeaderboard alloc] initWithPlayerIDs:[match playerIDs]]; 
if (pointsRequest != nil) 
{ 
    //Set the points leaderboard category id 
    [pointsRequest setCategory:kPOINTS_LEADERBOARD_ID]; 
    [pointsRequest loadScoresWithCompletionHandler: ^(NSArray *scores, NSError *error) 
    { 
     if (error != nil) //THIS LINE NEVER GETS HIT 
     { 
      NSLog(@"%@", [error localizedDescription]);   
     } 

     if (scores != nil) //NOR DOES THIS LINE 
     { 
     . 
     . 
     . 

, 나는 어떻게 확실 해요 이 문제를 해결할 수도 있습니다. 누구나 잘못된 아이디어가 있습니까? 아니면 내가 무엇을 잘못 조사 할 수 있습니까?

지혜에 감사드립니다.

업데이트 : 마침내이 코드 블록을 반환 할 수 있었고, 그 이유를 완전히 이해하지 못했습니다. 돌아 오기 위해 리더 보드를 검색하기 직전에 점수를 게시했습니다. 이상한 점은 이전에 점수를 게시했기 때문에 점수를 게시하는 것이이 문제에 어떤 영향을 주는지 나는 알지 못합니다.

+0

GameKit과 관련된 작업을 별도의 스레드에서 수행하고 있습니까? –

+0

나는 그렇게 생각하지 않지만, 그것이 어떻게 영향을 미칠 수 있습니까? – BeachRunnerFred

답변

0

순위표에 점수가없는 새 플레이어의 점수를로드하려고 할 때 문제가 발생했습니다. 그 "if"진술이 타격을 입었지만, 오류가없고 점수가 없기 때문에 그 아래의 코드 블록이 아니라는 것이 밝혀졌습니다. 여하튼, 그것은 내 부분에 멍청한 실수였다. 그러나 DavidD 덕분에 그의 공로를 인정 받았습니다. 심지어 그의 대답은 문제와 관련이 없으며, 나는 아직도 뭔가를 배웠다.

4

사실 이것은 iOS 4.3 베타 버전에서 바로 수정 된 버그 일 수 있습니다. 개발자 노트 (출처 : gadgetsdna.com)에서

고정 : GameKit 지금 성취 또는 리더 보드 점수가 실제로 제출되지 않는 오류를보고합니다.

나는이이 문제와 관련이 100 % 확실하지 않다, 그러나 찾을 수있는 유일한 방법 중 하나는 아이폰 OS 개발자 프로그램에 등록하고 최신 베타 버전을 테스트하거나 최종 아이폰 OS 4.3 SDK를 기다릴 것입니다 나올거야.

관련 문제