我正在尝试构建一个使用虚拟硬币系统的iPhone应用程序。用户购买硬币,然后在游戏中使用。我如何记录他们使用的硬币数量。
如果我把信息存储在本地,难道就不能有人直接进去修改文件,然后增加硬币的数量吗。有可能在越狱的手机上防止这种情况发生吗?
有没有一种方法可以在不注册的情况下将硬币数量存储在数据库中。
如果我在本地存储信息,难道就不能有人直接进去修改文件,然后增加硬币数量吗?
哦,是的,他可以
有可能在越狱的手机上防止这种情况发生吗?
不,不是真的。然而,如果没有越狱(应用程序是在iOS文件系统的可编程访问的被监禁根目录下安装的,该目录受/var/mobile/Media库的限制,从AppStore下载的应用程序安装在/var/mobile/applications中),那么对于90%的用户来说,你是安全的。
有没有一种方法可以在不注册的情况下将硬币数量存储在数据库中?
您可以使用应用内购买,也可以在服务器上自动注册他们的设备ID(序列号、MAC地址、由他们生成的哈希,类似于现在不推荐使用的UDID,或者只是一个简单的UUID),并在线存储"钱"。在这两种情况下,建议您使用自己的服务器验证每个事务,否则可以调整(字面意思是谷歌iAPCracker)。