Iphone iOS开发:为什么';loadScoresWithCompletionHandler是否返回?

Iphone iOS开发:为什么';loadScoresWithCompletionHandler是否返回?,iphone,ipad,ios,gamekit,game-center,Iphone,Ipad,Ios,Gamekit,Game Center,我正在玩游戏工具包API,我有一个非常简单的代码块,永远不会返回,即使有错误 GKLeaderboard *pointsRequest = [[GKLeaderboard alloc] initWithPlayerIDs:[match playerIDs]]; if (pointsRequest != nil) { //Set the points leaderboard category id [pointsRequest setCategory:kPOINTS_LEADERB

我正在玩游戏工具包API,我有一个非常简单的代码块,永远不会返回,即使有错误

GKLeaderboard *pointsRequest = [[GKLeaderboard alloc] initWithPlayerIDs:[match playerIDs]];
if (pointsRequest != nil)
{
    //Set the points leaderboard category id
    [pointsRequest setCategory:kPOINTS_LEADERBOARD_ID];
    [pointsRequest loadScoresWithCompletionHandler: ^(NSArray *scores, NSError *error) 
    {
       if (error != nil)   //THIS LINE NEVER GETS HIT
       {
          NSLog(@"%@", [error localizedDescription]);           
       }

       if (scores != nil)  //NOR DOES THIS LINE
       {
        .
        .
        .
由于没有错误,我甚至不确定如何对此进行故障排除。有没有人知道哪里出了问题,或者我如何进一步调查出了什么问题

非常感谢你的智慧


更新:我终于能够返回这段代码,尽管我不完全理解为什么。为了让它返回,我在试图检索它之前不久就在排行榜上公布了一个分数。奇怪的是,我以前在那里贴过分数,所以我不知道为什么贴分数对这个问题有任何影响

这实际上可能是一个刚刚在iOS 4.3测试版中得到纠正的错误

来自开发者笔记(来源:)

修正:GameKit现在在未实际提交成绩或排行榜分数时报告错误


我不是百分之百确定这与你的问题有关,但唯一的办法是注册iOS开发者计划并测试最新的测试版,或者等待最终的iOS 4.3 SDK发布。

当尝试为尚未在排行榜上公布任何分数的新玩家加载分数时,出现了问题。事实证明,那些“if”语句被击中了,但它们下面的代码块没有击中,因为没有错误,也没有分数。不管怎么说,这对我来说是个愚蠢的错误。不过,感谢大卫的贡献。即使他的答案与问题无关,我还是学到了一些东西

您是否在单独的线程上执行任何涉及GameKit的任务?我不这么认为,但我能问一下这会如何影响事情吗?