我正在用swift开发一个简单的游戏,但使用GamePlayer (在Cydia上,类似于cheat-engine),我能够定位,跟踪和修改我的分数。
我想知道怎样才能防止这种作弊行为...我尝试在元素发生更改时创建一个新的元素实例,例如:
score = Int(score + 1)我还尝试将var重置为nil并重新赋值:
let tmp = score + 1
score = nil
score = tmp但它不起作用。我的第一个问题是:是否可以在swift中更改变量的地址?它会阻止地址跟踪吗?
我的第二个问题是:另一件可以工作的事情,对我的分数进行编码,但这项工作值得吗?
发布于 2016-09-05 04:13:55
您可以将score变量放在struct中并使用写入时复制。然后,当您更改一个值时,您将获得score的最新副本。这里通过示例描述了写入时复制的可能性和工作原理:copy-on-write
与解决方案相比,你是不是真的加密了数字,它有优点也有缺点。其中一些是我想出来的(我很好奇你的观点是什么)
https://stackoverflow.com/questions/39317913
复制相似问题