一个iOS开发本地资源文件的加密方案
在开发中,不可避免的要有一些本地资源文件要放在 mainBundle 里面,比如 plist 文件、json文件、视频、图片 等等这样的。那如果能拿到 ipa 文件,直接解包就可以看到我们 mainBundle 里面的文件。如此一来,这些资源就会暴露无遗。
我大概在网上搜了一下,有用 AES 加解密的,各种,甚至还编写了简单的 MacApp 方便操作。如此当然安全性是很高的,同时也容易带来性能问题。
我想到了一个很简单的办法。其实就是利用 归档。
plist 要单独处理,因为 plist 有可能是数组,也有可能是字典。
其他文件可以统一按照二进制文件处理。
打开Xcode,Command + Shift + N 创建一个新的 Command Line Tool 工程,用 Command Line Tool 就足够啦。
在我们项目的工程中,把所有的需要加密的资源文件提取出来,并在工程中不要引用他们。本例我放在 Resources 文件夹下
接下来在我们刚创建的 Command Line Tool 工程中,把文件夹拖进来。注意:这里选择 Create folder references