【发布时间】:2015-12-07 21:24:36
【问题描述】:
所以我有一个完成的游戏,我只是在提交到 App Store 之前进行整理。
由于我完成了大部分编码,我已将 xCode 更新到 7.1.1,并将我的设备从 8.1 更新到 iOS 9.1。
我学到的第一件事是游戏中心中没有沙盒切换(这是我经常使用的,没有问题)
现在,当我运行应用程序时,使用此代码报告分数时:
-(void)reportScore{
GKScore *this_score = [[GKScore alloc] initWithLeaderboardIdentifier:_leaderboardIdentifier];
this_score.value = gameScore;
[GKScore reportScores:@[this_score] withCompletionHandler:^(NSError *error) {
if (error != nil) {
NSLog(@"%@", [error localizedDescription]);
}
}];
NSLog(@"Reported to Game Center...");
}
我将此错误打印到控制台:
*** Terminating app due to uncaught exception 'GKInvalidArgumentException', reason: 'A GKScore must specify a leaderboard.'
*** First throw call stack:
(0x184e60f48 0x199a13f80... ...0x1000d9748... ...0x19a2628b8)
libc++abi.dylib: terminating with uncaught exception of type NSException
其中规定,GKScore 必须指定 leaderboard...
我很困惑,因为在我更新到 iOS 9 之前,它运行良好。
我一直在阅读一堆关于在 iOS 9 中合并沙盒的内容,但我并不完全了解。
据我所知,它已合并到真实帐户中,所有沙盒数据都已删除,并且在真实排行榜上进行了测试?我可能错了。就像我说的,我不是 100% 的。
我该如何解决这个问题?我不确定找到准确资源的正确术语......我已经疯狂地搜索了很长时间。
也许我需要在本地指定我的 LeaderboardIdentifier?
提前致谢。
更新
这比我想象的还要糟糕…… 现在,我在 App Store 中的所有应用程序在尝试打开/提交到 Game Center 时都会崩溃...?
自从reading this...之后我只是想测试它们...
是否有更简洁或更新的方法来实现 Game Center?
【问题讨论】:
标签: ios exception game-center