IOS拷贝文件到沙盒
- (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; }