Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sqlite NSPersistentStoreCoordinator没有持久存储-偶尔发生_Sqlite_Core Data_Ios7 - Fatal编程技术网

Sqlite NSPersistentStoreCoordinator没有持久存储-偶尔发生

Sqlite NSPersistentStoreCoordinator没有持久存储-偶尔发生,sqlite,core-data,ios7,Sqlite,Core Data,Ios7,我在我的项目中使用了核心数据,并在我的文档目录中使用了database.sqlite数据存储文件。我的应用程序允许将此sqlite文件导出为备份,以便稍后恢复。备份工作正常 我有一个从iOS6设备导出的备份文件。我想将此备份文件导入我的应用程序。我将该文件作为邮件附件,我使用open in将其与应用程序一起打开。在ios6或更早版本中工作正常。我多次尝试导入同一个文件,效果很好 我最近将数据库模式更改为一个新版本,在这个版本中,自动迁移能够很好地切换到新数据库。如果我的设备在iOS6中,我可以导

我在我的项目中使用了核心数据,并在我的文档目录中使用了database.sqlite数据存储文件。我的应用程序允许将此sqlite文件导出为备份,以便稍后恢复。备份工作正常

我有一个从iOS6设备导出的备份文件。我想将此备份文件导入我的应用程序。我将该文件作为邮件附件,我使用open in将其与应用程序一起打开。在ios6或更早版本中工作正常。我多次尝试导入同一个文件,效果很好

我最近将数据库模式更改为一个新版本,在这个版本中,自动迁移能够很好地切换到新数据库。如果我的设备在iOS6中,我可以导入旧的数据库文件或现在导出的任何文件。我可以做很多次

现在,如果您将我的设备更改为iOS7,我可以多次导入最近导出的文件。但是如果我尝试导入先前导出的旧文件,我可以导入一次。该应用程序运行良好。然后我再次尝试导入它,现在从第二次尝试开始就失败了。给出标题中提到的错误。仅在iOS7中,并且仅在连续第2次尝试中

我正在使用scarybug文档解压缩到导入的文件。然后用导入的数据库文件替换现有的sqlite数据库文件。每次在iOS6中工作,第一次在iOS7中工作,但第二次尝试后在iOS7中失败

在执行导入之前,所有更改都会被提交/保存、托管对象上下文重置和持久存储协调器重置。新文件将取代旧文件,并且它已经工作了很长时间。该问题仅在第二次尝试使用从iOS6导出的相同文件时在iOS7中发现


如有任何帮助和疑问,将不胜感激。谢谢。

添加了此词典-

NSMutableDictionary *pragmaOptions = [NSMutableDictionary dictionary];
[pragmaOptions setObject:@"NORMAL" forKey:@"locking_mode"];
[pragmaOptions setObject:@"DELETE" forKey:@"journal_mode"];
NSDictionary *options = [NSDictionary dictionaryWithObjectsAndKeys:
                         [NSNumber numberWithBool:YES], NSMigratePersistentStoresAutomaticallyOption,
                         [NSNumber numberWithBool:YES], NSInferMappingModelAutomaticallyOption,
                         pragmaOptions, NSSQLitePragmasOption, nil];
至选项字典-

NSMutableDictionary *pragmaOptions = [NSMutableDictionary dictionary];
[pragmaOptions setObject:@"NORMAL" forKey:@"locking_mode"];
[pragmaOptions setObject:@"DELETE" forKey:@"journal_mode"];
NSDictionary *options = [NSDictionary dictionaryWithObjectsAndKeys:
                         [NSNumber numberWithBool:YES], NSMigratePersistentStoresAutomaticallyOption,
                         [NSNumber numberWithBool:YES], NSInferMappingModelAutomaticallyOption,
                         pragmaOptions, NSSQLitePragmasOption, nil];
用于创建我的persistentStoreCoordinator。这就解决了我的问题