iOS Game Center: создание жизненных достижений - PullRequest
1 голос
/ 27 сентября 2011

Я пытаюсь добавить достижение 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/

1 Ответ

1 голос
/ 27 сентября 2011

@ "Store" должно быть @ "Score", просто чтобы я мог получить очки ...:)

...