В моем приложении у меня есть достижение для 10 побед подряд. Поэтому, когда пользователь выигрывает 5 игр подряд, я сообщаю о достижении 50% завершенности - это отлично работает. Когда пользователь теряет некоторые игры, я вызываю метод resetAchievment, который устанавливает процент в 0 и снова сообщает процент. Однако, когда я перезапускаю приложение, процент читается из GKAchivement, и он по-прежнему показывает 50%.Сбросить одиночное достижение gamecenter
- (void) resetAchievement
{
_gamekitAchievement.percentComplete=0.0f;
_counter = 0;
[self report];
}
- (void) report
{
_gamekitAchievement.showsCompletionBanner = YES;
[_gamekitAchievement reportAchievementWithCompletionHandler:^(NSError *error)
{
if (error)
{
NSLog(@"reporting Achievment: %@ failed, error: %@", _gamekitAchievement.identifier, [error localizedDescription]);
}
}];
}
Невозможно сообщить меньший процент снова - или я делаю что-то неправильно?
Звучит как тестовая идея! –
Сохранение его в userDefaults звучит как хорошая идея. По какой-то странной причине я думал, что мой единственный шанс сохранить прогресс - это процент, который я сообщаю. Хотя я уже храню другие вещи в userDefaults и CoreData. –