我的排行榜包含您当前拥有的金币数量。
即使分数低于以前,是否可以强制服务器更新分数?
不会。为每个排行榜存储的分数是有史以来报告的最高分数。当报告的分数低于已存储的值时,它将被忽略。
GKScore 对象中有一个上下文字段,您可以在其中存储金币的数量,但只有当分数高于前一个高点时,Game Center 才会保存它,因此可能不是您要查找的内容。
另一种方法是找出一种将黄金数量存储在设备文件中的方法。最简单的方法(编程方式)是使用 [NSUserDefaults standardUserDefaults]。但是默认文件可以由用户编辑(更改),因此知道如何操作的玩家会给自己更多的金币。为了避免作弊,您必须以一种让您检测到它已更改的方式对值进行编码,然后当玩家更改该值时,您会发出警告,指出游戏状态已损坏并将游戏重置为开始。做这一切的麻烦抵消了 NSUserDefaults 的简单性。还有其他方法可以将值存储在设备上,这些方法很难改变,但也更难学习。