Comtesting si ya has desbloqueado un logro en Game Center / GameKit

Me he quedado perplejo en esto por mucho time. Entiendo cómo desbloquear un logro en Game Center e incluso tengo todo un sistema de postría funcionando. Pero no puedo determinar cómo verificar si un logro ya se ha desbloqueado 🙁

Aparentemente esto no funciona:

GKAchievement *achievement = [[GKachievement alloc] initWithIdentifier:ident] autorelease]; NSLog(@"%i",achievement.completed); 

Siempre traza "0".

Desbloquear un logro funciona:

 GKAchievement *achievement = [[GKachievement alloc] initWithIdentifier:ident] autorelease]; achievement.percentComplete = 100; 

Entonces no es que haya cometido un error en todo el logro, es solo que GameKit no puede decirme si el logro ya se ha desbloqueado o no.

¡Estaría muy agradecido si alguien pudiera ayudarme con esto!

para cargar los logros previamente enviados para el usuario actualmente registrado, debe llamar a:

 [GKAchievement loadAchievementsWithCompletionHandler: ^(NSArray *scores, NSError *error) { if(error != NULL) { /* error handling */ } for (GKAchievement* achievement in scores) { // work with achievement here, store it in your cache or smith } }]; 

Usted sabe que la mejor manera de comenzar con Game Center: los logros y los puntajes más altos es echar un vistazo al proyecto de demostración que Apple tiene en línea aquí: http://developer.apple.com/library/ios/#samplecode/GKTapper/Introduction /Intro.html

Eche un vistazo al código: es lo suficientemente simple como para comprender rápidamente lo que está sucediendo y presenta el caching de logros locales, presentarse a diferentes tableros de líderes, etc., etc.

Estoy a punto de comenzar a implementar esto yo mismo.

Por lo que leí de los documentos, lo que creo que debes hacer es llamar

 loadAchievementsWithCompletionHandler: 

http://developer.apple.com/library/ios/documentation/GameKit/Reference/GKAchievement_Ref/Reference/Reference.html#//apple_ref/doc/uid/TP40009959-CH1-SW1