在iOS App中添加Pre preulated sqlite debase

时间:2015-12-15 11:26:40

标签: ios database sqlite

在我的应用程序中我从服务器获取数据(sql表数据)并将其存储在sqlite表中。这需要大量用户数据,以便我尝试在模拟器上运行应用程序并获取该数据库文件,现在我是尝试将此数据库文件添加到我的项目中并将其复制到我的sqlite表(我不知道它的对与错)。它不会复制到我的sqlite数据库。当我在Xcode中添加此文件时,这看起来像enter image description here

然后我使用此代码复制此db

NSFileManager *fileManager = [NSFileManager defaultManager];
NSError *error;

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDir = [paths objectAtIndex:0];

NSString *dbPath = [documentsDir stringByAppendingPathComponent:@"moviedbl.data"];

if([fileManager fileExistsAtPath:dbPath]==NO){

    NSString *defaultDBPath = [[NSBundle mainBundle] pathForResource:@"mylocaldb" ofType: @"sqlite"];
   BOOL success = [fileManager copyItemAtPath:defaultDBPath toPath:dbPath error:&error];

    if(!success){
        NSAssert1(0, @"Failed to create writable database file with message '%'.", [error localizedDescription]);
    }
}

然后它会给我错误源路径为零。 请建议我该怎么做。这是正确的做法。谢谢

1 个答案:

答案 0 :(得分:0)

安装SQLite Manager firefox插件并从SQLite Manager插件中打开您的sqlite文件,您可以在其中查看您的sqlite是否包含数据。

对于数据库查询和导入使用FMDB库,它将节省您的时间并最小化您的代码。