IOS应用程序文件迁移

时间:2015-02-24 10:11:38

标签: ios migration

我正在开发一种应用程序,它是一种录像机,但我遇到了问题,而coredata可以支持保存迁移数据(安装uppdate,重新安装程序),应用程序文件保存到文档文件夹的应用程序被删除。我使用网络服务处理某些图片,但用户录制的所有视频都会丢失。

有没有办法在迁移时保留应用程序本地文件(在文档文件夹中)(例如从xcode重新启动应用程序而不在手机上删除它)?

我正在谈论道路:

filePath    NSString *  @"/var/mobile/Containers/Data/Application/7FB440BB-76DD-49C6-B5DD-AA9D26A86C51/Documents/dataImage/image_1_maquette_miniature.jpg"  0x000000015c528520

编辑: 我发现,当我重建我的应用时:

/var/mobile/Containers/Data/Application/509E8B5D-A3C4-4D90-809B-47159AC60542/Documents/dataImage/image_1_gabarit_masque.png

/var/mobile/Containers/Data/Application/660EF541-CDD0-439C-BCAB-B7FE4371799A/Documents/dataImage/image_1_gabarit_masque.png

UUID发生了变化,所以这里是我编写文件的代码:

NSFileManager *fileManager = [NSFileManager defaultManager];
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];

if(![self createFolderIfNoExists:@"dataImage"]) {
    fileManager = nil;
    return nil;
}

NSString *filePath = [documentsDirectory stringByAppendingPathComponent:
                                            [NSString stringWithFormat:@"dataImage/image_%d_%@.%@",objectID,assetTypeName,extension]];

if ([fileManager fileExistsAtPath:filePath] == YES) {
    [fileManager removeItemAtPath:filePath error:nil];
    NSLog(@"DELETE file exists %d",[fileManager fileExistsAtPath:filePath]);
}
if([imageData writeToFile:filePath atomically:NO] == NO) {
    NSLog(@"[Error] Create File %@ at %@", imageData,filePath);
    fileManager = nil;
    return nil;
}

0 个答案:

没有答案