2012-12-30 1 views
1

Je travaille avec Game Center maintenant. J'ai créé des éléments sur ITC et je suis connecté au Game Center. Jeu remarquez-moi à ce sujet. C'est bon. Mais je dois charger tous les achivements de Game Center et vérifier ses progrès. Je lis Apple Reference et voici la méthode de classe loadAchivementsWithCompletionHandler:.Comment charger et synchroniser les réalisations de Game Center correctement?

J'ai quelque chose comme ça, mais quand je l'appelle alors je n'ai pas de résultats - Pas de NSLog dans la console.

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

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

Comment puis-je obtenir des réalisations de Game Center correctement? Je pensais que le tableau achivements devrait être supérieur à 0, mais je ne sais pas - N'importe quel NSLog n'est pas appelé.

MISE À JOUR !!!

- (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!"); 
} 

}

J'appelle mon syncAchievement: méthode ci-dessus après l'authentification et j'ai réponse: Number of achievements: 0 mais mon application a 2 achivements créé. Où est le problème?

MISE À JOUR 2 !!!

Je vois que la méthode loadAchievementWithCompletionHandler ne charge que des améliorations avec quelques progrès. J'ai compris cela ..

Répondre

0

Je vois que la méthode loadAchievementWithCompletionHandler: charge seulement les réalisations avec quelques progrès. Je l'ai compris .. Et c'est une réponse. Tout est correctement.