Excepción de NSPersistentDocument "Tipo de tienda no admitido"

Me he encontrado con este problema dos veces: Xcode 4.1, Lion y un proyecto NSPersistentDocument Core Data.

Mi programa funcionaba bien hasta que agregué dos atributos de "datos binarios" a una de las entidades de mi modelo. Ahora, cuando ejecuto la aplicación e intento guardar el documento, se lanza una excepción desde dentro configurePersistentStoreCoordinatorForURL:ofType:modelConfiguration:storeOptions:error:.

La última vez que comencé a recibir este error, fue cuando actualicé una configuración en la configuración de destino del proyecto. En ese momento, restablecer la configuración modificada no tuvo ningún efecto, tuve que restaurar el archivo del proyecto Xcode desde una copia de seguridad y luego funcionó, por lo que no estaba relacionado con el código.

Este es el registro en el momento en que se lanza la excepción:

2011-08-27 17:34:00.867 MyAppName[5690:707] Unsupported store type.
2011-08-27 17:34:00.879 MyAppName[5690:707] (
    0   CoreFoundation                      0x00007fff8ae0e986 __exceptionPreprocess + 198
    1   libobjc.A.dylib                     0x00007fff8e28cd5e objc_exception_throw + 43
    2   CoreData                            0x00007fff9576776a -[NSPersistentStoreCoordinator addPersistentStoreWithType:configuration:URL:options:error:] + 1530
    3   AppKit                              0x00007fff9190af88 -[NSPersistentDocument configurePersistentStoreCoordinatorForURL:ofType:modelConfiguration:storeOptions:error:] + 554
    4   MyAppName                            0x0000000100001af4 -[MyAppNameDocument configurePersistentStoreCoordinatorForURL:ofType:modelConfiguration:storeOptions:error:] + 244
    5   AppKit                              0x00007fff91bc6697 -[NSPersistentDocument(NSDeprecatedInternal) _configurePersistentStoreCoordinatorForURL:ofType:error:] + 172
    6   AppKit                              0x00007fff91909a82 -[NSPersistentDocument writeToURL:ofType:forSaveOperation:originalContentsURL:error:] + 418
    7   MyAppName                            0x0000000100001c51 -[MyAppNameDocument writeToURL:ofType:forSaveOperation:originalContentsURL:error:] + 161
    8   AppKit                              0x00007fff917c5062 -[NSDocument _writeSafelyToURL:ofType:forSaveOperation:forceTemporaryDirectory:error:] + 581
    9   AppKit                              0x00007fff917aeaba -[NSDocument _writeSafelyToURL:ofType:forSaveOperation:error:] + 27
    10  AppKit                              0x00007fff917c4e0b -[NSDocument writeSafelyToURL:ofType:forSaveOperation:error:] + 344
    11  AppKit                              0x00007fff919095d1 -[NSPersistentDocument writeSafelyToURL:ofType:forSaveOperation:error:] + 1073
    12  AppKit                              0x00007fff917cdee4 __-[NSDocument saveToURL:ofType:forSaveOperation:completionHandler:]_block_invoke_8 + 329
    13  AppKit                              0x00007fff917cd5ca __-[NSDocument saveToURL:ofType:forSaveOperation:completionHandler:]_block_invoke_14 + 451
    14  AppKit                              0x00007fff917cdcbd __-[NSDocument saveToURL:ofType:forSaveOperation:completionHandler:]_block_invoke_7 + 1459
    15  Foundation                          0x00007fff94079f34 -[NSFileCoordinator(NSPrivate) _invokeAccessor:orDont:thenRelinquishAccessClaimForID:] + 202
    16  Foundation                          0x00007fff9407cdd5 -[NSFileCoordinator(NSPrivate) _coordinateWritingItemAtURL:options:error:byAccessor:] + 663
    17  AppKit                              0x00007fff917c3754 -[NSDocument _fileCoordinator:coordinateReadingContentsAndWritingItemAtURL:byAccessor:] + 336
    18  AppKit                              0x00007fff917b1bb3 __-[NSDocument saveToURL:ofType:forSaveOperation:completionHandler:]_block_invoke_1 + 845
    19  AppKit                              0x00007fff917acbda -[NSDocument continueFileAccessUsingBlock:] + 227
    20  AppKit                              0x00007fff917c7413 -[NSDocument _performFileAccessOnMainThread:usingBlock:] + 466
    21  AppKit                              0x00007fff917c716b -[NSDocument performAsynchronousFileAccessUsingBlock:] + 304
    22  AppKit                              0x00007fff917b1860 -[NSDocument saveToURL:ofType:forSaveOperation:completionHandler:] + 91
    23  AppKit                              0x00007fff917b0555 __-[NSDocument saveToURL:ofType:forSaveOperation:delegate:didSaveSelector:contextInfo:]_block_invoke_2 + 131
    24  AppKit                              0x00007fff917be5e0 -[NSDocument _commitEditingThenContinue:] + 337
    25  AppKit                              0x00007fff91908d32 __-[NSPersistentDocument _documentEditor:didCommit:withContext:]_block_invoke_1 + 53
    26  CoreFoundation                      0x00007fff8adc3b5c __CFRUNLOOP_IS_CALLING_OUT_TO_A_BLOCK__ + 12
    27  CoreFoundation                      0x00007fff8ad7bc52 __CFRunLoopDoBlocks + 322
    28  CoreFoundation                      0x00007fff8ada3d37 __CFRunLoopRun + 2023
    29  CoreFoundation                      0x00007fff8ada3216 CFRunLoopRunSpecific + 230
    30  HIToolbox                           0x00007fff8ce604ff RunCurrentEventLoopInMode + 277
    31  HIToolbox                           0x00007fff8ce67b73 ReceiveNextEventCommon + 181
    32  HIToolbox                           0x00007fff8ce67aae BlockUntilNextEventMatchingListInMode + 62
    33  AppKit                              0x00007fff91410191 _DPSNextEvent + 659
    34  AppKit                              0x00007fff9140fa95 -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 135
    35  AppKit                              0x00007fff9140c3d6 -[NSApplication run] + 463
    36  AppKit                              0x00007fff9168a52a NSApplicationMain + 867
    37  MyAppName                            0x00000001000012e2 main + 34
    38  MyAppName                            0x00000001000012b4 start + 52
)

Actualmente estoy usando un tipo de tienda SQLite. También intenté eliminar los atributos que agregué a la entidad, pero obtengo el mismo resultado. También borré todos los cachés, limpié el proyecto y eliminé la carpeta DerivedData. Yo también apagué autosavesInPlace. Siento que esto es una especie de error de Xcode.

¿Alguien ha visto esto antes? ¡Gracias!

preguntado el 27 de agosto de 11 a las 21:08

2 Respuestas

Me ha pasado lo mismo. En realidad, el error en Xcode es el siguiente (al menos en mi caso): al establecer el valor de la clave "Tipo de almacenamiento persistente de datos centrales" (NSPersistentStoreTypeKey) seleccionándolo en el menú emergente en la interfaz de usuario agradable para tipos de documentos (Target -> Información), Xcode establece el valor en la cadena "NSSQLiteStoreType" (por ejemplo) en lugar de "SQLite".

Arreglar esto directamente en Info.plist funcionó para mí (no es necesario volver a crear el proyecto desde cero).

Respondido el 30 de diciembre de 11 a las 14:12

Todavía no se ha solucionado en XCode Versión 4.5.1 (4G1004) ... ¿alguien crea un informe de error en Apple y / o puede proporcionar una identificación de openradar? - Stephan

Error con manzana - rdar: // 17410404 - Warren Burton

Para responder mi propia pregunta. Es un error de Xcode. Imagínate. Que frustrante.

Hice una copia de seguridad de todo mi código fuente, recreé un nuevo proyecto desde cero, copié mi código fuente de nuevo en el proyecto y lo ejecuté. Todo funciona ahora.

Me alegra saber que al menos no soy yo.

Respondido 28 ago 11, 17:08

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.