网站首页 > 手游开测> 文章内容

达内ios培训专家解读游戏开发那些“坑

※发布时间:2017-8-19 18:20:54   ※发布作者:habao   ※出自何处: 

  鉴于在iOS类的游戏开发和提交审核的过程中老是遇到一些坑,为了避免在同一个坑里跌倒两次,故达内ios培训专家特记录并总结如下:

  原因:在默认情况下,本地存档放在了/Library/Caches下面,根据苹果的描述,放在/Library/Caches目录下的任意文件将在系统弹出存储空间将满的时被系统清空。解决方案:将所有数据和热更新文件放在/Library/Application Support目录下,此目录下的所有文件在收到空间将满时不会被移除。此外,这还避免了放在Documents目录下可能会被苹果在审核中干掉的风险。

  原因:一个高度可能的原因是我们把订单编号存在本地的一个缓存文件里,每次去苹果服务器询问订单是否成功时,先去此缓存文件内查找是否有相同的订单编号,若找到则说明订单有重复发。但是一旦玩家删除了这个缓存文件,则可反复利用一个已经支付成功了的订单号来反复刷了。

  解决方案:最稳妥的解决方案是将订单编号存在服务端,然后对服务端的通信进行加密。我们采用了一种不走服务器的方法:即在首次充值成功时,给金币的缓存文件添加一个标记位(负号),然后查询订单缓存文件时,先去查询此标记位,若找到标记位,则说明之前充值过,订单缓存文件应有内容,如果订单缓存文件内容为空,或找不到有意义的订单编号,则说明玩家作弊,此次充值金币将不会加上(作弊惩罚)。由于缓存文件事先已被AES加密过,所以玩家很难去找到该标记位。

  推荐:

  

关键词:ios手游开发