当我查看 GKScore 和 GKLeaderboard 的文档时,无法将玩家报告的分数重置到 GameCenter 中的特定排行榜。我对吗?
这似乎很不一致,因为可以重置成就:
[GKAchievement resetAchievementsWithCompletionHandler:^(NSError *error) { ... }];
有什么想法吗?
当我查看 GKScore 和 GKLeaderboard 的文档时,无法将玩家报告的分数重置到 GameCenter 中的特定排行榜。我对吗?
这似乎很不一致,因为可以重置成就:
[GKAchievement resetAchievementsWithCompletionHandler:^(NSError *error) { ... }];
有什么想法吗?
你是对的。一旦在实时应用程序中启动,就无法重置 Game Center 排行榜类别或删除类别。
苹果确实提供了一种重置成就的方法。
我所知道的唯一解决方法是让旧类别消失,将它们置于底部,将与类别关联的标签更改为“高分(存档)”,然后创建一个新类别并将其标记“高分”并将其排序到顶部。这会给你一个新鲜的。但是,当然仍然有 25 个排行榜类别的限制 - 所以在某些时候你会被击沉,除非你只是想出如何重用旧的。(例如,让你的所有分数 x10,以便每个人都能很快超越旧分数)
编辑...在最近的版本中,我实际上确实在最近的应用程序更新中重用了排行榜类别。该类别的最初用途是用于相当低的分数……在低 1000 分中。该类别的新用途将是该类别的 10 倍到 1000 倍。因此,我知道该类别中的任何旧分数都会在游戏的前几场比赛中被抹去。当然类别 ID 不能更改(com.company.app.category),但描述(英文或其他)可以更改。它可能会变得令人困惑,因为在为完全不同的事物保存分数时,您使用的类别具有一个事物的 id。但是使用#define kBlahBlahBlah 到@“com.company.app.blah”,您的代码可以使用任何名称,这样可以很容易地保持直截了当。希望有帮助。