首次启动时从iOS应用程序中的转储文件创建数据库

首次启动时从iOS应用程序中的转储文件创建数据库,ios,objective-c,sqlite,Ios,Objective C,Sqlite,我正在创建一个iOS应用程序,它有一个巨大的预填充sqlite数据库。数据库文件大约为140MB。我已经转储了这个数据库,并将其压缩为RAR格式,现在它的大小约为16MB 我想知道是否可以将转储文件(16MB)与iOS应用程序捆绑,解压缩.rar文件,并在运行时(即首次启动应用程序时)创建数据库 我在iOS中找到了一个用于解压缩文件的库,但我仍然想知道如何在解压缩后从转储文件创建数据库 提前感谢您的回答。只需解压缩文件并将其保存到文件层次结构中的一个好位置。iOS知道SQLite,所以只需像平常

我正在创建一个iOS应用程序,它有一个巨大的预填充sqlite数据库。数据库文件大约为140MB。我已经转储了这个数据库,并将其压缩为RAR格式,现在它的大小约为16MB

我想知道是否可以将转储文件(16MB)与iOS应用程序捆绑,解压缩.rar文件,并在运行时(即首次启动应用程序时)创建数据库

我在iOS中找到了一个用于解压缩文件的库,但我仍然想知道如何在解压缩后从转储文件创建数据库


提前感谢您的回答。

只需解压缩文件并将其保存到文件层次结构中的一个好位置。iOS知道SQLite,所以只需像平常一样使用数据库即可。重要的是将文件从包中复制出来,因为它在包中不可写,但解压将完成这一点。您需要小心iCloud,它不喜欢共享这样大小的文件,所以请将其设置为非共享。

我没有压缩sqlite文件。我实际上是在压缩转储文件,其中包含create和insert语句。我可以从转储文件创建数据库吗?有没有一种直接的方法可以做到这一点?难道你不能在文件系统中创建一个新的sqlite数据库,并调用这些语句吗?iOS具有完整的sqlite功能,因此您应该能够对基于iOS的数据库执行与桌面数据库相同的任何操作。Owen,我认为您的意思是读取转储文件,并通过解析该转储文件手动执行表的创建和插入。嗯。这是一种可能性,但我正在寻找一种更简单的方法,比如如何从sqlite命令行界面,从转储文件创建/恢复db,而不需要编写任何解析代码。我使用LZMA压缩来压缩sqlite文件本身,而不是转储文件,我能得到相当好的压缩比,这应该是可能的。但是,除非您在iOS 8/Yosemite中使用批更新技术,否则导入将非常缓慢。最新的WWDC 2014视频
#225-核心数据中的新内容
从视频开始1分钟就有详细介绍。