具体地说,我想知道是应该创建一个GKScore,还是应该将分值保存在我自己的对象中。无论采用哪种方式,我都会将分数对象作为.plist保存到文件中,以防应用程序在将分数成功提交到游戏中心服务器之前终止。
也许将它保存为GKScore有一个好处,因为日期可能会被保留,但更重要的是,GKScore是否更具防篡改能力?我希望阻止作弊谁有权直接修改保存的文件,从而修改他们的分数之前,它被提交到游戏中心。
更新:更仔细地阅读Game Kit Programming Guide后,它告诉我们,在iOS 4中,重新报告分数留给您的应用程序;然而,在iOS 5中,这是由后台的报告任务自动处理的。因此,这个问题只与iOS 4相关(当然,我和其他大多数人仍然计划完全支持它)。
发布于 2012-03-26 03:16:13
然而,我在这个讨论中有点晚了……
苹果游戏技术布道者Allan Schaffer在游戏中心的Essentials演讲中简要讨论了这个话题。这是在2011年发布给iTunes U的。
大约在22:30左右,讨论转向归档GKScore对象以供稍后提交。为了限制作弊,建议如下:
(将校验和添加到文件中并将哈希值添加到分数列表中)将分数提交限制为已知的”有效“金额
发布于 2011-11-04 10:47:26
没有办法确保此功能的安全,因为这是对CWE-602的隐式违反。无论值是存储在闪存中还是存储在随机存取存储器中,在一天结束时,用户对设备的控制都比您多。作为一名开发人员,你是一个客人,你应该表现得很好。也许你正在寻找"(in)security though obscurity“。
https://stackoverflow.com/questions/8004175
复制相似问题