Game Center评分报告问题



我正在开发一个应用程序,使用以下代码向Game Center报告分数(根据苹果的建议)。我的问题是,即使我的iPhone处于飞行模式,该应用程序也不会触发任何分数报告错误。它只是转到代码的"Submission ok"部分。知道为什么吗?谢谢你!

    GKScore *scoreReporter = [[[GKScore alloc] initWithCategory:category] autorelease];
    scoreReporter.value = score;
    [scoreReporter reportScoreWithCompletionHandler:^(NSError *error) {
        if (error != nil)
        {
            // handle the reporting error
            NSLog(@"Error Descr %@",error.localizedDescription);
            NSLog(@"Error Code %@",error.code);    
            NSLog(@"Error Domain %@",error.domain);   
        }
        else {
            NSLog(@"Submission ok");
        }
    }];

从iOS 5.0开始,任何由reportScoreWithCompletionHandler引起的网络错误都由GameKit内部处理。这意味着开发者不再需要担心由于网络故障而重新提交分数。如果你使用ios5.0或更高版本构建,reportScoreWithCompletionHandler的完成处理程序将不会收到任何与网络相关的错误。

我建议使用Apple的可达性标志来自己检测活动连接。如果连接不可用,保存Game Center请求以备将来提交,并在网络恢复可用时提交。更多关于可达性的信息可以在这里找到

相关内容

  • 没有找到相关文章

最新更新