- (void) reportAchievementIdentifier: (NSString*) identifier percentComplete: (float) percent
{
GKAchievement *achievement = [[[GKAchievement alloc] initWithIdentifier: identifier] autorelease];
if (achievement)
{
achievement.percentComplete = percent;
[achievement reportAchievementWithCompletionHandler:^(NSError *error)
{
if (error != nil)
{
// Retain the achievement object and try again later (not shown).
}
}];
}
}
Назовите этот метод так:
[self reportAchievementIdentifier:indentifier percentComplete:percent];
Если вы хотите просто разблокировать достижение, позвоните по этому номеру:
[self reportAchievementIdentifier:indentifier percentComplete:100.0];
Вы можете использовать число с плавающей запятой для расчета процента достижения, и если пользователь достигает 100, достижение разблокируется.
Вы также можете сделать это:
[self reportAchievementIdentifier:indentifier percentComplete:((actualpoints/neededPoints)*100.0)];
requiredPoints означает очки, необходимые для разблокировки этого достижения. Например:
actualPoints = 300;
requiredPoints = 600;
Он рассчитывает: 300/600 = 0,5 * 100 = 50%