0

我有将我的分数提交到游戏中心的代码,但是每当我在游戏中心提交分数时,它说我的分数是 0。我不确定这是怎么发生的?我还导入了 GameKit 框架。我查看了几个教程,所有这些教程都来自以前版本的 Xcode,但我不确定这是否会有所不同。

-(IBAction)submitScore{
if (highscore>0) {

GKScore *scoreReporter = [[[GKScore alloc] initWithCategory:@"MyLeaderBoardID"] autorelease];

scoreReporter.value = [[NSNumber numberWithInt:highscore] longLongValue];
NSLog(@"posted");
NSLog(@"%i",highscore);

[scoreReporter reportScoreWithCompletionHandler:^(NSError *error) {
    if (error != nil)
    {
        NSLog(@"failed!!!");
        NSLog(@"%i",highscore);
    }
    else{
        NSLog(@"Succeded");

    }
}];}

我也有用于登录的代码:

[[GKLocalPlayer localPlayer] authenticateWithCompletionHandler:^(NSError *error){
if (error == nil) {
    NSLog(@"authintication success");
}
else{
NSLog(@"authintication failed");
    UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"Game Center Disabled"message:@"For Game Center make sure you have an account and you have a proper device connection."delegate:self cancelButtonTitle:@"Ok"otherButtonTitles:nil];
    [alert show];
}

}];

self.currentLeaderBoard = @"MyLeaderBoardID";
4

4 回答 4

0

我会尝试制作一个 int64_t 并将其设置为 scorevalue ...

于 2012-05-22T19:48:12.843 回答
0

您确定您在 iTunes Connect 上设置的排行榜将“MyLeaderBoardID”作为其排行榜 ID吗?我看不出代码有什么问题

于 2012-05-06T23:58:40.060 回答
0

好吧,我在 iOS 编程方面相当陌生,并试图学习向游戏中心报告分数。但是当我检查你的代码时,我猜测有两种可能性:

1) "scoreReporter.value = [[NSNumber numberWithInt:highscore] longLongValue];" 可能需要一个字符串值而不是一个数字值

2) 您的排行榜的 ID 可能不是“MyLeaderBoardID”

在我看来,其他部分似乎还不错。

于 2014-09-16T14:29:47.423 回答
0

也许这样...

GKScore *scoreReporter = [[GKScore alloc] initWithCategory:@"ID"];
于 2015-02-11T01:06:22.853 回答