在Swift中保护我的基于JSON的级别配置数据

时间:2016-03-08 03:05:54

标签: ios swift sprite-kit

我正在使用SpriteKit在Swift中制作一个游戏,我设想(现在)大约有100个关卡。他们分成了几个区域(每个区域20个级别)。大多数地区都是免费的,但我想制作一两个非常特殊的区域,需要一些努力才能发挥作用。如果值得的话,我甚至可以要求购买。

所以为了简单起见,我只需要在需要时将所有级别设置为JSON配置文件,我的读者将从中拉出设置并保持级别等级。因此我有100个级别的文件。

我正在考虑这个问题,并意识到没有任何东西阻止攻击者使用像ifunbox这样的工具来浏览JSON文件,找到高级文件,获取内容,覆盖非高级文件,以及然后免费播放优质内容。

我应该保留JSON文件并加密吗?我想另一个选择是保持每个级别的级别哈希并进行比较,但这需要我的代码文件中有100个哈希值。

有人可以向我提出一个建议,以便更好地保护我的关卡配置数据,以便优质内容保持优质吗?

谢谢!

1 个答案:

答案 0 :(得分:3)

也许您应该使用苹果On Demand Resources,以便文件实际上不在应用程序中,并且只有在购买后才会下载高级地图

  

按需资源的好处

     

应用程序可以从按需资源中受益的一些主要方式   包括:

     

较小的应用程序大小。用户下载的应用程序包的大小为   更小,导致更快的下载和更多的存储空间   设备。

     

延迟加载应用资源。该应用拥有的资源   仅在某些州使用。应用程序请求资源   很可能进入适当的状态。例如,在游戏中   在许多层面上,用户只需要与之相关的资源   当前和下一个级别。

     

远程存储很少使用的资源。   应用程序具有不经常使用的资源。资源是   根据需要提出要求。例如,通常是一个应用教程   应用程序第一次打开后显示一次,可能永远不会   再次使用。该应用程序在首次启动时请求教程,然后   仅在需要时或在添加新功能时请求教程。

     

远程存储应用内购买资源。该应用提供应用内购买   包含额外资源的购买。资源   应用程序启动后会请求购买的模块。对于   例如,用户在键盘中购买SuperGeeky表情符号包   应用程序。应用程序在完成启动后请求包。