iOS复制数据库到沙盒目录

版权声明:原创文章,转载请注明来源 http://blog.csdn.net/lxmy2012 https://blog.csdn.net/lxmy2012/article/details/61934486

iOS复制数据库到沙盒目录

iOS应用开发中使用大量固定数据,比如国家省市地区等等;

可以考虑数据放在本地数据库中,打包到应用中;

应用在第一次使用数据库数据时,将打包的数据库复制到沙盒Document目录中


直接上代码

// 打开创建数据库
-(BOOL)openDB {
    // 数据库路径-沙盒路径
    NSString *doc = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES) lastObject];
    NSString *fileName = [doc stringByAppendingPathComponent:@"Test.db"];
    
    //NSLog(@"数据库沙盒路径=%@", fileName);
    
    // 复制本地数据到沙盒中
    NSFileManager *fileManager = [NSFileManager defaultManager];
    if (![fileManager fileExistsAtPath:fileName]) {
        // 获得数据库文件在工程中的路径——源路径。
        NSString *sourcesPath = [[NSBundle mainBundle] pathForResource:@"Test"ofType:@"db"];
    
        NSError *error ;
        
        if ([fileManager copyItemAtPath:sourcesPath toPath:fileName error:&error]) {
            NSLog(@"数据库移动成功");
        } else {
            NSLog(@"数据库移动失败");
        }
    }
    
    // 2.获得数据库
    db = [FMDatabase databaseWithPath:fileName];
    
    // 3.如果打开数据库
    return [db open];
}


兄弟篇  Android 从 assets 复制数据库到 databases 文件夹


以上






猜你喜欢

转载自blog.csdn.net/lxmy2012/article/details/61934486