Estoy intentando actualizar una aplicación que implementa un núcleo de almacén de datos. Voy a añadir un atributo a una de las entidades.
He añadido el siguiente código a mi delegado de clase:
- (NSPersistentStoreCoordinator *)persistentStoreCoordinator {
if (persistentStoreCoordinator != nil) {
return persistentStoreCoordinator;
}
NSURL *storeUrl = [NSURL fileURLWithPath: [[self applicationDocumentsDirectory] stringByAppendingPathComponent: @"Shoppee.sqlite"]];
NSError *error = nil;
persistentStoreCoordinator = [[NSPersistentStoreCoordinator alloc] initWithManagedObjectModel:[self managedObjectModel]];
NSDictionary *options = [NSDictionary dictionaryWithObjectsAndKeys:
[NSNumber numberWithBool:YES], NSMigratePersistentStoresAutomaticallyOption,
[NSNumber numberWithBool:YES], NSInferMappingModelAutomaticallyOption, nil];
if (![persistentStoreCoordinator addPersistentStoreWithType:NSSQLiteStoreType configuration:nil URL:storeUrl options:options error:&error]) {
NSLog(@"Error: %@",error);
NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
abort();
}
return persistentStoreCoordinator;
}
Esto fue a partir de la siguiente URL:
Doc
Me sale el siguiente error al ejecutar el código:
2009-12-01 20:04:22.877
Shoppee[25633:207] Error: Error
Dominio=NSCocoaErrorDomain Código=134130
UserInfo=0x1624d20 "la Operación no se pudo completar. (Cacao error 134130.)" 2009-12-01 20:04:22.879 Shoppee[25633:207] sin resolver error Error Domain=NSCocoaErrorDomain Código=134130 UserInfo=0x1624d20 "La operación no se pudo completar. (Cacao error 134130.)", { URL = file://localhost/Users/Eric/Library/Application%20Support/iPhone%20Simulator/User/Applications/A8A8FB73-9AB9-4EB7-8F83-82F5B4467AF1/Documentos/MyApp.sqlite; metadatos = { NSPersistenceFrameworkVersion = 241; NSStoreModelVersionHashes = { Item = <869d4b20 088e5c44 5c345006 87d245cd 67ab9bc4 14cadf45 180251e9 f741a98f>; Tienda = <47c250f4 895e6fd1 5033ab42 22d2d493 7819ba75 3c0acffc 2dc54515 8deeed7a>; }; NSStoreModelVersionHashesVersion = 3; NSStoreModelVersionIdentifiers = ( ); NSStoreType = SQLite; NSStoreUUID = "8DC65301-3BC5-42BE-80B8-E44577B8F8E1"; }; razón = "no se Puede encontrar el modelo de almacén de origen"; }
Parece que de alguna manera se debe incluir el modelo de datos original, pero no estoy seguro de cómo hacerlo. Alguna sugerencia?