iOS-此NSPersistentStoreCoordinator没有永久存储(损坏的文件)。

iOS-此NSPersistentStoreCoordinator没有永久存储(损坏的文件)。,ios,objective-c,core-data,Ios,Objective C,Core Data,我在iOS应用程序中使用CoreData允许用户将一些数据保存到手机中,每当我进行更新时,我只会收到一到两个出现以下崩溃消息的用户: Fatal Exception: NSInternalInconsistencyException 此NSPersistentStoreCoordinator没有永久存储(损坏的文件)。它无法执行保存操作 但是多次,这表明他们再也无法打开应用程序了,每次重新启动都会崩溃。这种情况只发生在一千个用户中的一个,最多两个,我不可能复制这种情况 - (NSMan

我在iOS应用程序中使用CoreData允许用户将一些数据保存到手机中,每当我进行更新时,我只会收到一到两个出现以下崩溃消息的用户:

Fatal Exception: NSInternalInconsistencyException
此NSPersistentStoreCoordinator没有永久存储(损坏的文件)。它无法执行保存操作

但是多次,这表明他们再也无法打开应用程序了,每次重新启动都会崩溃。这种情况只发生在一千个用户中的一个,最多两个,我不可能复制这种情况

    - (NSManagedObjectContext *)managedObjectContext
{
    if (_managedObjectContext != nil) {
        return _managedObjectContext;
    }

    NSPersistentStoreCoordinator *coordinator = [self persistentStoreCoordinator];
    if (coordinator != nil) {
        _managedObjectContext = [[NSManagedObjectContext alloc] init];
        [_managedObjectContext setPersistentStoreCoordinator:coordinator];
    }
    return _managedObjectContext;
}
- (NSManagedObjectModel *)managedObjectModel
{
    if (_managedObjectModel != nil) {
        return _managedObjectModel;
    }
    NSURL *modelURL = [[NSBundle mainBundle] URLForResource:@"modelName" withExtension:@"momd"];
    _managedObjectModel = [[NSManagedObjectModel alloc] initWithContentsOfURL:modelURL];
    return _managedObjectModel;
}
- (NSPersistentStoreCoordinator *)persistentStoreCoordinator
{
    if (_persistentStoreCoordinator != nil) {
        return _persistentStoreCoordinator;
    }

    NSURL *storeURL = [[self applicationDocumentsDirectory] URLByAppendingPathComponent:@"app name.sqlite"];
    NSError *error = nil;
    _persistentStoreCoordinator = [[NSPersistentStoreCoordinator alloc] initWithManagedObjectModel:[self managedObjectModel]];
    NSDictionary *options = @{
                              NSMigratePersistentStoresAutomaticallyOption : @YES,
                              NSInferMappingModelAutomaticallyOption : @YES,
                              NSSQLiteManualVacuumOption : @YES
                              };
    if (![_persistentStoreCoordinator addPersistentStoreWithType:NSSQLiteStoreType configuration:nil URL:storeURL options:options error:&error]) {
        NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
    }

    return _persistentStoreCoordinator;
}
这是我的AppDelegate中的CoreData堆栈


我做错了什么?

您是否在某个时间点更新了模型,然后尝试保存?我在某个时间点更新了模型,尽管奇怪的是,这个问题之前已经存在。不过我只是做了一个轻量级的迁移,并遵循了在线教程——它对99.9%的用户都有效,这真的很奇怪。你知道吗?不幸的是,我从来没有遇到过同样的问题。最终完全重做了我的模型。