2011-08-04 19 views
5

Tengo una pregunta relacionada con los logros del centro de juegos. ¿Es posible recuperar el nombre/descripción de un logro por su identificador? Estoy tratando de evitar codificar de forma rígida cada identificador con su nombre correspondiente, entonces ¿hay alguna solución que pueda obtener el nombre? gracias, SamiRecuperando el logro del centro de juegos mediante el identificador

Respuesta

10

Por supuesto, es exactamente por eso que tiene soporte de localización para los logros (y tablas de clasificación) dentro de iTunes Connect.

Sin embargo, no hay forma de preguntarle a Game Center sobre la información localizada para un solo logro basado en su identificación. En su lugar, solicite información sobre todos los logros que le proporcionen una variedad de objetos GKAchievementDescription que sería mejor colocar en un diccionario donde las claves son identificaciones de logro y luego seleccione un objeto GKAchievementDescription adecuado de ese diccionario.

NSMutableDictionary *achievementDescriptions = [[NSMutableDictionary alloc] init]; 
[GKAchievementDescription loadAchievementDescriptionsWithCompletionHandler:^(NSArray *descriptions, NSError *error) { 
    if (error != nil) { 
     NSLog(@"Error getting achievement descriptions: %@", error); 
    } 
    for (GKAchievementDescription *achievementDescription in descriptions) { 
     [achievementDescriptions setObject:achievementDescription forKey:achievementDescription.identifier]; 
    } 
}]; 

Y luego, cuando desea mostrar información de algún logro:

GKAchievementDescription *achievementDescription = [achievementDescriptions objectForKey:currentAchievement.identifier]; 

Este objeto le da un título localizada, descripción de cuando se logra y no alcanzado, así como el número de puntos que premios y una imagen especificada en iTunes Connect.

+0

Exactamente lo que necesitaba. Muchas gracias – Sami

+0

Increíblemente conveniente; ¡gracias! Esto esencialmente revisa lo que creo que es una omisión flagrante en el SDK ... – iisystems

Cuestiones relacionadas