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 文件夹
以上