У меня есть небольшая игра в магазине приложений, используйте таблицу лидеров игрового комплекта.Код только из документа Xcode.
- (void) reportScore: (int64_t) score forCategory: (NSString*) category {
if (!auth_ok)
return;
Class gcClass = (NSClassFromString(@"GKScore"));
GKScore *scoreReporter = [[[gcClass alloc] initWithCategory:category] autorelease];
scoreReporter.value = score;
[scoreReporter reportScoreWithCompletionHandler:^(NSError *error) {
if (error != nil) {
NSLog(@"%@",error);
}
else {
NSLog(@"reportScore ok!");
}
}];
}
Он никогда не ошибается.Но сегодня я использую Xcode 3.2.5 для сборки этого проекта.И измените какой-то другой код, и теперь я считаю, что оценка GKScore неверна.Я вызываю сообщение reportScore следующим образом:
int winCount=15;
[gameView reportScore:winCount forCategory:@"memory.iphone.wincount"];
, и результатом является значение = 761228871165046176. вот так: