Я пытаюсь добавить достижение Lifetime в свое приложение для iOS. То есть сколько раз пользователь выполнил одиночное действие с тех пор, как впервые играл в игру. Другими словами, сколько убийств он получил с тех пор ... когда-либо. Я использую код на основе предоставленного Apple:
.h файл:
int64_t lifetimeScore;
IBOutlet UILabel *lifetimeScoreLabel;
.m файл:
- (IBAction) increaseScore {
self.lifetimeScore = self.lifetimeScore + 1;
lifetimeScoreLabel.text = [NSString stringWithFormat: @"%ld", self.lifetimeScore];
// Saving the Score:
NSUserDefaults * defaults = [NSUserDefaults standardUserDefaults];
[defaults setInteger:lifetimeScore forKey: @"Score"];
[defaults synchronize];
[self checkAchievements]; }
- (void)viewDidLoad {
[super viewDidLoad];
// Loading the Lifetime Score:
self.lifetimeScore = [[NSUserDefaults standardUserDefaults] integerForKey: @"Score"];
lifetimeScoreLabel.text = [NSString stringWithFormat: @"%ld", self.lifetimeScore];
(...)
}
Я отлично работаю, предупреждений нет, но каждый раз, когда я закрываю приложение, удаляю его из панели многозадачности и снова открываю приложение, рейтинг целой жизни возвращается к нулю. Я пытаюсь сохранить int_64 с помощью NSUserDefaults, но пока я не могу заставить его работать ... какие-нибудь идеи?
РЕДАКТИРОВАТЬ: код был исправлен, и теперь он работает на 100% на тот случай, если кто-то захочет его использовать. Полный исходный код можно найти здесь: http://mobile.tutsplus.com/tutorials/iphone/ios-sdk-game-center-achievements-and-leaderboards-part-2/