Модель сопоставления нигде не найдена (ошибка какао 134140)

По сути, у меня есть версия xcdatamodel, и я перехожу с версии 2 на версию 3.

Я создал Mapping Model с пользовательской политикой.

Как только PersistenStoreCoordinator пытается выполнить свою работу, я получаю ошибку Cocoa № 134140 (не удается найти модель сопоставления для переноса)

Этот вопрос в основном тот же, что и у меня, но я использую Xcode 4.6.3

Что я пробовал:

  • Принуждение xcmappingmodel к размещению внутри xcdatamodelId и обеспечение того, чтобы моя модель отображения не имела размер 0 КБ в соответствии с ответом на этот вопрос
  • Удаление ссылок xcdatamodelId из Xcode и добавление их обратно (ответ этого вопроса)
  • Параметры очистки и очистки папки сборки

EDIT Вот мои инструкции по отладке, если кому-то интересно...

Handling DB Upgrade
sourceMetadata is {
NSPersistenceFrameworkVersion = 419;
NSStoreModelVersionHashes =     {
    OriginalPicture = <ce8de6ad c694b569 dcc1d706 d4df3928 05052cab 14a092f1 340cbf01 2306e861>;
    PanoramicInfo = <923298fa 0af16c01 d5ba91ca 19c6252c 8adee68a bfe7b86b 75285500 6883a1aa>;
};
NSStoreModelVersionHashesVersion = 3;
NSStoreModelVersionIdentifiers =     (
    ""
);
NSStoreType = SQLite;
NSStoreUUID = "F83640F3-8686-438F-97CC-48311EB74B9C";
"_NSAutoVacuumLevel" = 2;
}

Not Compatible Models Migration is NEEDED!
SourceEntity: OriginalPicture: <ce8de6ad c694b569 dcc1d706 d4df3928 05052cab 14a092f1 340cbf01 2306e861>
DestinationEntity: OriginalPicture: <ce8de6ad c694b569 dcc1d706 d4df3928 05052cab 14a092f1 340cbf01 2306e861>
SourceEntity: PanoramicInfo: <923298fa 0af16c01 d5ba91ca 19c6252c 8adee68a bfe7b86b 75285500 6883a1aa>
DestinationEntity: PanoramicInfo: <1d7836cd f3ccf5fa 487c1984 e2b3f46c abc3b706 c06512d5 0bac698c a5d8cb20>
The operation couldn’t be completed. (Cocoa error 134140.)

Второе ИЗМЕНЕНИЕ

Я пытался получить модель отображения напрямую, используя:

NSURL *fileURL = [[NSBundle mainBundle] URLForResource:@"Update23Model" withExtension:@"cdm"];

Но странно, что fileURL указывает на ноль.....

Как тогда добавить модель сопоставления в комплект?


person gtgaxiola    schedule 09.08.2013    source источник


Ответы (3)


Похоже на ошибку Xcode 4.6.3... Похоже, что xcmappingmodel не должно находиться ни в одной групповой папке....

Когда я создал его на корневом уровне проекта xcode, сопоставление было найдено IDE.

person gtgaxiola    schedule 12.08.2013
comment
Не могу поверить, что ответ был таким простым! Сделал трюк для меня! Я готовился вернуться к старой базовой модели данных и воссоздать новую. Большое спасибо! - person Droid Chris; 19.11.2013
comment
@DroidChris рад, что это помогло: D - person gtgaxiola; 19.11.2013

Решит ли этот ответ вашу проблему? Проблема похожая, извините, если не поможет.

person Jonathan M    schedule 09.08.2013
comment
Спасибо... Я зарегистрировал, и хэш источника такой же, как и у sourceMetaData, в то время как хэш пункта назначения отличается... все еще не находит модель сопоставления - person gtgaxiola; 09.08.2013

Это может произойти, если хранилище вашего тестового устройства основано на версии модели данных, которая больше не существует.

Например, у меня была модель данных версии 7, затем я сделал модель данных версии 8. Я сделал модель отображения, чтобы перейти от 7 к 8. Затем я внес еще несколько изменений в 8. Когда я открываю это приложение, оно выдает эту ошибку, потому что версия 8, на которой была основана модель отображения, больше не существует.

person CommaToast    schedule 06.07.2016