estoy recibiendo el siguiente error en mi aplicación:datos básicos: declaración es todavía activo
CoreData: error: Serious application error. Exception was caught during Core Data change processing. This is usually a bug within an observer of NSManagedObjectContextObjectsDidChangeNotification. statement is still active with userInfo (null)
Todo lo que puedo encontrar parece indicar lo que puede estar teniendo problemas multi-threading con objeto mis datos básicos logrado contexto, pero no puedo encontrar en ninguna parte de mi aplicación donde este sea el caso. Estoy accediendo y administrando un contexto de objeto gestionado en una cadena de fondo. El contexto solo busca y manipula objetos en ese hilo de fondo. Cuando detecto las salvaciones en ese contexto a través de NSManagedObjectContextObjectsDidSaveNotification, estoy fusionando los cambios en un contexto diferente al que solo accedo en mi hilo principal. Cuando realizo la llamada para fusionar los cambios, se produce el error. Es muy raro que esto ocurra, incluso con los mismos conjuntos de datos.
Leí en alguna parte que es posible 'habilitar las aserciones de subprocesos múltiples' usando '-com.apple.CoreData.ThreadingDebug 3', pero no he podido hacer que esto funcione. ¿Alguien sabe si esto es posible? Esperaba que esto pudiera activar algunas afirmaciones que me ayudarían a encontrar dónde estoy jugando con el contexto en el hilo equivocado o algo así.
¿Alguna otra pista sobre lo que podría estar sucediendo o cómo rastrear este tipo de problema?
¿Mi respuesta fue útil? –
Lo leyó en [TN2124: Magia de depuración de Mac OS X] (https://developer.apple.com/library/ios/#technotes/tn2004/tn2124.html#SECCOREDATA). El bit clave es: "Esta característica requiere la variante de depuración del marco". Si tuviera esa variante, podría establecer la variable de entorno 'DYLD_IMAGE_SUFFIX = _debug' y cargaría' CoreData_debug' en lugar de 'CoreData' para el marco. Desafortunadamente, esas variantes parecen existir solo para OS X 10.5.x. :( –