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