我目前正在编写一个静态iOS框架,将开发人员连接到我的API,并根据用户的请求向他们返回客观化的信息。但是,为了使此框架值得,其中一个要求是此框架必须能够在本地缓存信息并在网络连接不可用时返回脱机副本。我知道我可以将这些信息存储在NSUserDefaults中,但是可能存在这样的情况:缓存的信息可能是私有的,本地开发人员不应该通过猜测正确的密钥来访问。我认为最佳方法将涉及某种加密,但我想看看除NSUserDefaults之外的静态框架是否还有其他存储选项。
如果可能的话,我希望将数据保持为客观化的格式。我有兴趣探索的两个解决方案是将我的离线数据保存在SQLite或CoreData中。但是,使用这两种方法,我担心这些文件将如何存储在框架中(我已经有一个嵌入式框架)以及在开发人员看到的捆绑包中提供这些文件的架构的安全问题。
我正在研究的另一个解决方案是看看iOS是否支持任何工具,例如gzip,可以用来密码保护我的文件,直到它们被框架使用。
有没有人成功克服过这些问题?除了之前提到的可能解决方案之外,还有什么我应该研究的吗?任何建议都将受到热烈欢迎。
感谢。
P.S。有谁知道我可以阅读有关iOS安全或静态框架的任何资源?要么非常有帮助。