做备份数据库

时间:2013-06-11 11:28:42

标签: iphone ios backup restore

我需要备份我的数据库。最初在我的“创建备份”页面中,我显示了原始数据库。当我单击添加新备份按钮时,必须在检查是否已进行任何新更改的条件时创建我的数据库的新备份。如果进行了任何更改,则必须创建新备份。否则只会显示一个警告消息,表示上次备份文件没有任何变化。任何人都可以帮忙吗

1 个答案:

答案 0 :(得分:1)

使用此方法。创建数据库的新副本,并使用其他名称保存。

- (void)copyDatabaseToCache
{
    NSArray *searchPaths = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES);
    NSString *documentFolderPath = [searchPaths objectAtIndex: 0];
    NSString *dbPath1 = [documentFolderPath stringByAppendingPathComponent:@"newDatabaseName.sqlite"];
    NSString *backupDbPath = @"You should give back up db path here";
    NSError *error = nil;
    NSDictionary *fileAttributes = [[NSFileManager defaultManager] attributesOfItemAtPath:backupDbPath error:&error];
   NSLog(@"Persistent store size: %@ bytes", [fileAttributes objectForKey:NSFileSize]);
    if ( ![[NSFileManager defaultManager] fileExistsAtPath:dbPath1]) {
        [[NSFileManager defaultManager] copyItemAtPath:backupDbPath toPath:dbPath1 error:nil];
        }


}