- (void)copyFileFromResourceTOSandbox
{
//文件类型
NSString * docPath = [[NSBundle mainBundle] pathForResource:@"area" ofType:@"db"];
// 沙盒Documents目录
NSString * appDir = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject];
// 沙盒Library目录
//NSString * appDir = [NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES) lastObject];
//appLib Library/Caches目录
//NSString *appLib = [appDir stringByAppendingString:@"/Caches"];
NSFileManager *fileManager = [NSFileManager defaultManager];
NSString *filePath = [appDir stringByAppendingPathComponent:@"area.db"];
if(![fileManager fileExistsAtPath:filePath]) //如果不存在
{
BOOL filesPresent = [self copyMissingFile:docPath toPath:appDir];
if (filesPresent) {
NSLog(@"Copy Success");
}
else
{
NSLog(@"Copy Fail");
}
}
else
{
NSLog(@"文件已存在");
}
}
/**
* @brief 把Resource文件夹下的area.db拷贝到沙盒
*
* @param sourcePath Resource文件路径
* @param toPath 把文件拷贝到XXX文件夹
*
* @return BOOL
*/
- (BOOL)copyMissingFile:(NSString *)sourcePath toPath:(NSString *)toPath
{
BOOL retVal = YES; // If the file already exists, we'll return success…
NSString * finalLocation = [toPath stringByAppendingPathComponent:[sourcePath lastPathComponent]];
if (![[NSFileManager defaultManager] fileExistsAtPath:finalLocation])
{
retVal = [[NSFileManager defaultManager] copyItemAtPath:sourcePath toPath:finalLocation error:NULL];
}
return retVal;
}