从NSData而不是文件获取Sqlite数据库

时间:2017-03-03 15:04:35

标签: ios objective-c sqlite nsdata fmdb

我曾经使用FMDB从文件中读取sqlite数据。

/MERGETASKS

现在我要加密文件。当应用程序打开时,它会将文件解密为NSData对象。

FMDatabase *db = [FMDatabase databaseWithPath:filePath];

有什么方法可以从NSData获取FMDatabase对象?我不想将NSData保存到文件中,因为它已被解密。

1 个答案:

答案 0 :(得分:0)

我认为FMDatabase SQLite 通常与文件系统相关,这意味着默认情况下可能无法执行此操作。

我猜你的选择:

  • 为加密的NSData使用单独的文件,为解密的 SQLite 数据库使用另一个文件 - 但此解决方案失去了获得第一个文件的任何好处

  • NSData存储在一个文件中,并使用临时或内存 SQLite 数据库(请参阅https://github.com/ccgus/fmdb#database-creation),您需要在启动时导入数据关闭时导出

  • 使用系统级Security内容的更复杂的方法,但我对此没有任何经验