2012-12-30 71 views
1

我現在正在與Game Center合作。我在ITC上創建了成就,我登錄到了Game Center。遊戲注意到了它。沒關係。但是我必須從Game Center加載所有成績並檢查其進度。我讀了Apple Reference,這裏是課程方法loadAchivementsWithCompletionHandler:如何正確加載和同步來自Game Center的成就?

我有這樣的事情,但是當我把它的話,我也沒有任何結果 - 沒有NSLog的控制檯。

[GKAchievement loadAchievementsWithCompletionHandler:^(NSArray *achievements, NSError *error) { 

    if (error){ 
     NSLog(@"Error in syncing achievements: %@", error); 
    } 
    else { 
     NSLog(@"Number of achievements: %d", [achievements count]); 
    } 
}]; 

我怎樣才能從遊戲中心正確獲得成就?我認爲achivements數組應該大於0,但我不知道 - 任何NSLog不會被調用。

更新!

- (void)authenticateLocalUser:(void(^)(UIViewController *))delegate { 

if (!_gameCenterAvailable) return; 
NSLog(@"Authenticating local user..."); 
if (![GKLocalPlayer localPlayer].authenticated) { 

    [[GKLocalPlayer localPlayer] setAuthenticateHandler:^(UIViewController *viewController, NSError *error) { 

     if (viewController) { 

      delegate((UIViewController *)viewController); 
     } 
     else { 
      [NSThread sleepForTimeInterval:2]; 
      [sharedHelper syncAchivements:^(NSString *delegate) { 

      }]; 
     } 

     if (error) { 
      NSLog(@"Error in AuthenticateLocalUser: %@", [error description]); 
     } 
    }]; 
} else { 
    NSLog(@"Already authenticated!"); 
} 

}

我打電話給我的身份驗證後,上述syncAchievement:方法,我已經得到了響應:Number of achievements: 0但我的應用程序創建具有2個achivements。哪裏有問題?

更新2!

我看到那個方法loadAchievementWithCompletionHandler只加載一些進展achivements。我明白這一點..

回答

0

我看到那個方法loadAchievementWithCompletionHandler:只加載了一些進展成果。我明白這一點。這是一個答案。一切正常。