core-data crash migration persistent-storage

core data - -[NSCFDictionary initWithObjects: forKeys: count:]: intento de insertar valor nil en los objetos[0](clave: sourceRelationship)



core-data crash (1)

No es realmente una respuesta, pero hay algunas cosas que podrías pensar para intentar localizar el problema:

  • ¿Los valores de storeURL y las options correctos en el momento de la invocación?

  • Cuando se produce el bloqueo, ¿debería producirse realmente una migración? (es decir, ¿la base de datos está en un estado anterior al modelo actual)? ¿Obtienes el colapso cuando comienzas con una base de datos vacía?

  • ¿Cuántos modelos tienes? ¿Podría eliminar algunos para intentar rastrear cuál está causando el problema?

Estoy teniendo una noche bastante mala con esta. He estado ejecutando y probando mi código en iOS 5.0 ya que tuve que actualizar rápidamente. Tenía problemas de instalación, por lo que 4.3 Simulator no estaba disponible hasta hace poco. Yo (pensé que tenía) resolví todos mis problemas de migración de datos básicos ligeros. Esta noche, fui a ejecutar la aplicación en el simulador 4.3 y en un iPad con 4.3. Lo que encontré fue horrible.

Este error todo el tiempo:

2011-10-27 07: 01: 44.045 AppName [924: 10d03] * Aplicación de finalización debido a la excepción no detectada ''NSInvalidArgumentException'', razón: ''* - [NSCFDictionary initWithObjects: forKeys: count:]: intento de insertar valor nil en los objetos [ 0] (key: sourceRelationship) '' * Pila de llamadas en el primer lanzamiento: (0 CoreFoundation 0x018655a9 exceptionPreprocess + 185 1 libobjc.A.dylib
0x01a66313 objc_exception_throw + 44 2 CoreFoundation
0x017aedcb - [__ NSPlaceholderDictionary initWithObjects: forKeys: count:] + 587 3 CoreFoundation 0x017c76da + [NSDictionary dictionaryWithObject: forKey:] + 74 4 CoreData 0x0135bdea - [_ NSSQLTableMigrationDescription appendStatementsToPrepareForMigration: migrationContext:] + 1178 5
CoreData 0x01357254 - [_ NSSQLiteStoreMigrator createEntityMigrationStatements] + 356 6 CoreData 0x01356246 - [_ NSSQLiteStoreMigrator performMigration:] + 86 7 CoreData 0x0135c78f - [NSSQLiteInPlaceMigrationManager migrateStoreFromURL: type: options: withMappingModel: toDestinationURL: destinationType: destinationOptions: error:] + 1039 8 CoreData 0x013414ca - [ NSStoreMigrationPolicy (InternalMethods) migrateStoreAtURL: toURL: storeType: options: withManager: error:] + 154 9 CoreData 0x01342052 - [NSStoreMigrationPolicy migrateStoreAtURL: withManager: metadata: opciones: error:] + 146 10 CoreData 0x01342f83 - [NSStoreMigrationPolicy (InternalMethods) _gatherDataAndPerformMigration:] + 1315 11 CoreData 0x01256aec - [NSPersistentStoreCoordinator addPersistentStoreWithType: configuración: URL: opciones: error:] + 2412 12 AppName 0x0007aae7 - [AppDelegate persistentStoreCoordinator] + 791 13 AppName 0x0007a621 - [AppDelegate managedObjectContext] + 97 14 AppName 0x0007c3cd - [AppDelegate getSettings] + 125 15 AppName
0x00078160 - [BagAppDelegate refreshSettings] + 48 16 AppName 0x00077cd7 - [Aplicación AppDelegate: didFinishLaunchingWithOptions:] + 391 17 UIKit 0x00409c89 - [UIApplication _callInitializationDelegatesForURL: payload: suspendida:] + 1163 18 UIKit 0x0040bd88 - [UIApplication _runWithURL: payload: launchOrientation: statusBarStyle: statusBarHidden:] + 439 19 UIKit 0x00416617 - [UIAplication handleEvent: withNewEvent:] + 1533 20 UIKit 0x0040eabf - [UIApplication sendEvent:] + 71 21 UIKit
0x00413f2e _UIApplicationHandleEvent + 7576 22 GraphicsServices
0x01f03992 PurpleEventCallback + 1550 23 CoreFoundation
0x01846944 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION + 52 24 CoreFoundation 0x017a6cf7 __CFRunLoopDoSource1 + 215 25 CoreFoundation 0x017a3f83 __CFRunLoopRun + 979 26 CoreFoundation
0x017a3840 CFRunLoopRunSpecific + 208 27 CoreFoundation
0x017a3761 CFRunLoopRunInMode + 97 28 UIKit
0x0040b7d2 - [UIAplicación _run] + 623 29 UIKit
0x00417c93 UIApplicationMain + 1160 30 AppName
0x0000232d main + 125 31 AppName
0x000022a5 start + 53

y muestra el error como aquí, cuando configuro persistentStoreCoordinator:

NSError *error; if (![persistentStoreCoordinator addPersistentStoreWithType:NSSQLiteStoreType configuration:nil URL:storeUrl options:options error:&error]) { // Update to handle the error appropriately. NSLog(@"App Delegate - persistentStoreCoordinator Save Error %@, %@", error, [error userInfo]); exit(-1); // Fail } return persistentStoreCoordinator;

Estoy bastante seguro de que este último código está bien, nunca he tenido ningún problema con él.

El error claramente tiene algo que ver con la migración ligera y, por mi vida, no puedo entender qué. He estado sentado llorando durante horas (pero soy una chica, así que está bien ...) y parece que nada funciona, y no he recibido buena información de las búsquedas de Google.

No estoy actualizando una aplicación existente solo tratando de instalar una nueva cuando esto sucede.

Realmente necesito ayuda desesperadamente, generalmente tengo una idea de qué hacer, pero ahora estoy tan perdido en el espacio. Gracias de antemano por cualquier idea.

EDITAR: Pensé que podría tener algo que ver con la reparación de permisos de disco. No funcionó Parece que hay algo mal con un modelo de mapeo. Supongo que sería uno creado automáticamente porque no creé ninguno.