NSPersistentDocument «Неподдерживаемый тип магазина» Исключение - PullRequest
4 голосов
/ 28 августа 2011

Я уже дважды сталкивался с этой проблемой: Xcode 4.1, Lion и проект Core Data NSPersistentDocument.

Моя программа работала нормально, пока я не добавил два атрибута "двоичных данных" к одному из объектовв моей модели.Теперь, когда я запускаю приложение и пытаюсь сохранить документ, из configurePersistentStoreCoordinatorForURL:ofType:modelConfiguration:storeOptions:error:.

выдается исключение. Когда я в последний раз получал эту ошибку, это происходило, когда я обновлял настройку в целевом проекте.настройки.В то время, сброс измененного параметра не имел никакого эффекта, мне пришлось восстановить файл проекта XCode из резервной копии, и затем он работал - так что это не было связано с кодом.

Это журнал в то время, когдаисключение:

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
)

В настоящее время я использую тип хранилища SQLite.Я также попытался удалить атрибуты, которые я добавил к объекту, но получаю тот же результат.Я также очистил все кэши, очистил проект и удалил папку DerivedData.Я тоже выключил autosavesInPlace.Я чувствую, что это какая-то ошибка XCode.

Кто-нибудь видел это раньше?Спасибо!

Ответы [ 2 ]

7 голосов
/ 30 декабря 2011

То же самое случилось со мной.На самом деле ошибка в XCode заключается в следующем (по крайней мере, в моем случае): при установке значения для ключа «Тип постоянного хранилища базовых данных» (NSPersistentStoreTypeKey) путем выбора его из всплывающего меню в удобном интерфейсе для типов документов (Target).-> Info), Xcode устанавливает значение в строку «NSSQLiteStoreType» (например) вместо «SQLite».

Исправление этого непосредственно в Info.plist сработало для меня (нет необходимости заново создавать проектс нуля).

0 голосов
/ 28 августа 2011

Чтобы ответить на мой собственный вопрос.Это ошибка XCode.Пойди разберись.Как расстраивает.

Я сделал резервную копию всего моего исходного кода, заново создал новый проект, скопировал мой исходный код обратно в проект и запустил его.Теперь все работает.

Рад, что это не я, по крайней мере.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...