Datos principales: migraciones ligeras y varios archivos de modelos de datos principales (xcdatamodel)

Tengo un problema al realizar una migración liviana al migrar desde una tienda que está definida por dos archivos xcdatamodel separados.

En la versión 1.0 de mi aplicación, los modelos se dividieron en un modelo analítico, el modelo A y todo lo demás en el modelo B. Al compilar, los modelos se agruparían y todo se desarrollaría sin problemas.

Al trabajar en la nueva versión, 1.1, actualicé el modelo B agregando una nueva versión del modelo al modelo B y configurando esa nueva versión como activa.

El problema surge cuando se actualiza de 1.0 a 1.1. Parece que Core Data comprueba el almacén de modelos en el disco (creado por la versión 1.0) y busca el modelo que lo describe, pero no puede encontrar un SOLO modelo que defina toda la tienda (el modelo A solo cubre análisis y el modelo B cubre todo lo demás), por lo que arroja el error "No se puede encontrar el modelo para el almacén de origen".

¿Alguien ha encontrado una solución para separar los modelos pero aún así permite que las actualizaciones y las migraciones ligeras funcionen sin la molestia adicional de definir migraciones personalizadas?

Aquí está el fragmento de código utilizado para cargar modelos:

    NSArray *modelNames = [NSArray arrayWithObjects:@"model-A", @"model-B", nil];
    NSMutableArray *models = [NSMutableArray array];
    for (NSString *name in modelNames)
    {
        LogInfo(@"loading model %@", name);
        NSURL *modelURL = [[NSBundle mainBundle] URLForResource:name withExtension:@"momd"];
        NSManagedObjectModel *model = [[[NSManagedObjectModel alloc] initWithContentsOfURL:modelURL] autorelease];
        [models addObject:model];
    }

    // combine all the separate models into one big one
    objectModel = [[NSManagedObjectModel modelByMergingModels:models] retain];

    NSURL *documentsDirectory = [NSURL fileURLWithPath:[SuperFileManager documentsDirectory] isDirectory:YES];
    NSURL *storeURL = [documentsDirectory URLByAppendingPathComponent:@"database.sqlite"];
    NSError *error = nil;

    coordinator = [[NSPersistentStoreCoordinator alloc] initWithManagedObjectModel:objectModel];
    NSDictionary *options = [NSDictionary dictionaryWithObjectsAndKeys:
                                                  [NSNumber numberWithBool:YES], NSMigratePersistentStoresAutomaticallyOption,
                                                  [NSNumber numberWithBool:YES], NSInferMappingModelAutomaticallyOption,
                                                  nil];

    if (![coordinator addPersistentStoreWithType:NSSQLiteStoreType
                                   configuration:nil
                                             URL:storeURL
                                         options:options
                                           error:&error])
    {
        NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
        abort();
    }

Respuestas a la pregunta(4)

Su respuesta a la pregunta