iOS 7中的游戏中心报告(已弃用)

时间:2014-07-19 09:55:52

标签: ios7 game-center-leaderboard

我的IDE显示警告"Obsolete: Deprecated in iOS 7.0"此方法:

  • (GKScore)ReportScore()
  • (GKAchievement)ReportAchievement()

这种方法适用于iOS 7,但使用不是问题?
在iOS 7上还存在其他方法吗?

谢谢!

2 个答案:

答案 0 :(得分:0)

我使用这种方法在游戏中心报告得分并且有效。

-(void)reportScore
{
    if(isIOS7)
    {
        // Create a GKScore object to assign the score and report it as a NSArray object.
        GKScore *score = [[GKScore alloc] initWithLeaderboardIdentifier:_leaderboardIdentifier];
        score.value = _score;

        [GKScore reportScores:@[score] withCompletionHandler:^(NSError *error) {
            if (error != nil) {
                NSLog(@"score reporting error : %@", [error localizedDescription]);
            }
            else
            {
                NSLog(@"score reported.");
            }
        }];
    }
    else
    {
        GKScore *scoreReporter = [[GKScore alloc] initWithCategory:_leaderboardIdentifier];
        scoreReporter.value = _score;
        scoreReporter.context = 0;

        [scoreReporter reportScoreWithCompletionHandler:^(NSError *error) {
            // Do something interesting here.
            if (error != nil) {
                NSLog(@"score reporting error : %@", [error localizedDescription]);
            }
            else
            {
                NSLog(@"score reported.");
            }
        }];
    }

}

答案 1 :(得分:0)

Objective-C方法以小写方法开始。它们不是用圆括号调用的。所以,我:

  1. 打开了GKScore;
  2. 的文档
  3. 查找了已弃用的内容并找到-reportScoreWithCompletionHandler:;
  4. 看到+reportScores: withCompletionHandler:未被弃用。
  5. 对于GKAchievement中的集合类方法,不推荐使用单一实例方法,看到了同样的事情。

    所以:只使用收集方法。不推荐使用的方法暂时不受支持,然后消失。通过阅读文档,您可以非常快速地找到目前支持的内容。