I am trying to understand the life cycle of repeatable Game Center achievements (those that have replayable
set in GKAchievableDescription
) based on what (little) information there is in Apple's Game Center Programming Guide.
Consider e.g. a repeatable achievement "FullCircle". My assumption is that a valid sequence could consist of the following steps:
- app calls
loadAchievementsWithCompletionHandler:
, receivesGKAchievement
with[achievement.identifier isEqual:@"FullCircle] && (achievement.percentComplete == 0)
- user finishes half circle for the first time
- app sets
achievement.percentComplete = 50
and callsreportAchievements:withCompletionHandler:
- iOS Game Center app shows achievement as incomplete (sic!)
- user finished full circle for the first time
- app sets
achievement.percentComplete = 100
and callsreportAchievements:withCompletionHandler:
- iOS displays notification banner
- iOS Game Center app shows achievement as complete
- user finishes half circle for the second time
- app sets
achievement.percentComplete = 50
(sic!, not: 150) and callsreportAchievements:withCompletionHandler:
- iOS Game Center app shows achievement as complete (sic!, because this is the second time)
- user finished full circle for the second time
- app sets
achievement.percentComplete = 100
(sic!, not: 200) and callsreportAchievements:withCompletionHandler:
- iOS displays notification banner
- iOS Game Center app shows achievement as complete
loadAchievementsWithCompletionHandler:
still reports only one (sic!, not: two) achievements for "FullCircle"
Does this make sense or am I making any wrong assumptions in this sequence? And is there any way for inquiring from Game Center how often an achievement such as "FullCircle" was earned?