Recibo un error 'Cannot create an NSPersistentStoreCoordinator with a nil model'
después de eliminar la aplicación del dispositivo. Estoy probando una aplicación de iPhone en un dispositivo iPad. He puesto este código para comprobar si tengo el archivo en AppDelegate.m
:No se puede crear un NSPersistentStoreCoordinator con un modelo nulo después de eliminar la aplicación del dispositivo
- (NSManagedObjectModel *)managedObjectModel {
if (__managedObjectModel != nil) {
return __managedObjectModel;
}
NSURL *modelURL = [[NSBundle mainBundle] URLForResource:@"Name" withExtension:@"momd"];
if ([[NSFileManager defaultManager] fileExistsAtPath:[modelURL path]]) {
NSLog(@"%@", [modelURL path]); //This is printed because file exists
}
__managedObjectModel = [[NSManagedObjectModel alloc] initWithContentsOfURL:modelURL];
return __managedObjectModel;
}
El problema es que [NSManagedObjectModel initWithContentsOfURL]
está volviendo valor nulo. que he hecho las siguientes cosas, sin éxito:
-
instanciación
- Cambio managedObjectModel con esta carpeta de compilación limpiado
__managedObjectModel = [NSManagedObjectModel mergedModelFromBundles:nil];
- y el proyecto ha limpiado
- Restarted Xcode
- equipo se reinició
- cambiado "momd "to" mom "
.xcdatamodeld
está en Copia Recursos de paquete y fuentes de compilación- renombró
.xcdatamodeld
y limpios y cerrados proyecto de Xcode varias veces - apaga y se enciende el dispositivo
- carpetas eliminados de:
$ cd /Users/john/Library/Developer/Xcode/DerivedData
- nombre sqlite cambiado para forzar la generación de bases de datos
- eliminado la aplicación (de nuevo) de Devine
He estado buscando la solución durante horas y todavía no puedo encontrarla.
¿Funciona en el simulador? ¿Puedes abrir el archivo '.xcdatamodeld' en Xcode? – FluffulousChimp
Alan, soy capaz de abrir el archivo '.xcdatamodeld' en Xcode, pero la aplicación no funciona en el simulador. Se inicia, pero solo muestra una pantalla negra. – amb
Creo que he encontrado algo ... Me acabo de dar cuenta de que no había borrado todos los archivos que viven en '/ Users/john/Library/Developer/Xcode/DerivedData', así que cuando hice esto, el simulador fue OK , incluso el managedObjectModel. ¿Hay alguna manera de eliminar estos archivos en el dispositivo? – amb