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 ..