具体来说,我想知道我是应该创建一个GKScore还是将得分值保存在我自己的对象中。无论哪种方式,我都会将得分对象保存为.plist文件,以防应用程序终止,然后才能将得分成功提交给游戏中心服务器。
将其保存为GKScore可能有一个优势,因为日期可能会保留,但更重要的是,GKScore是否更具防篡改功能?我希望找到可以直接修改保存文件的骗子,从而在提交给游戏中心之前修改他们的分数。
更新:在仔细阅读Game Kit Programming Guide之后,它告诉我们在iOS 4中,重新报告的分数会留给您的应用;但是,在iOS 5中,这由后台的报告任务自动处理。因此,这个问题只与iOS 4真正相关(我和其他大多数人仍然计划完全支持)。
答案 0 :(得分:1)
无法使此功能安全,因为这是对CWE-602的隐式违规。如果将值存储在闪存或随机存取存储器中,则无关紧要,在一天结束时,用户可以比您更多地控制设备。作为开发者,你是一位客人,你应该玩得很好。也许你正在寻找“(in)security though obscurity”。
答案 1 :(得分:1)
我讨论的时间有点迟了......
Apple Game Technologies Evangelist的Allan Schaffer在Game Center Essentials讲座中简要讨论了这个话题。这是2011年发布给iTunes U的。
在22:30左右,讨论转向归档GKScore对象以供日后提交。为了限制作弊,建议是: