Ответ 1
Я столкнулся с этой проблемой и немного погубил.
Я строил с Xcode 6.4, и похоже, что ранее основные данные генерировали только файл .mom в каталоге MyApp.ipa momd. Этот снимок экрана сделан из проекта, который видел несколько версий Xcode.
Обратите внимание, что все старые версии модели имеют только файл .mom. Я только что создал новую версию модели сегодня, и она имеет как .mom, так и файл .omo.
Похоже, что Xcode 6.4 (и, возможно, некоторые из версий бета 7.x) не знают, как загрузить оптимизированную версию модели данных, потому что я также получаю
2015-10-16 11:11:42.563 MyAppName[1767:599635] CoreData: Failed to load optimized model at path '/var/mobile/Containers/Bundle/Application/D887D60B-FB28-4059-8167-F573460D98F8/MyAppName.app/MyDataModel.momd/MyDataModel3_0Analytics.omo'
предупреждение при компиляции с 6.4. Однако при компиляции приложения с последней версией приложения Xcode (7.0.1) я не получаю этого предупреждения. Я предполагаю, что причина решения Mahesh заключается в том, что повторная запись всей схемы создает файл .omo, который приложение ищет в комплекте приложения.
Решение для меня состояло в том, чтобы сгенерировать новую версию модели данных в основных данных, а затем построить с помощью Xcode 7. Кажется, что создание новой версии модели создает оптимизированный файл модели. В моем тестировании, хотя даже с этим файлом, созданным Xcode 6.4, все еще выдается ошибка. Это было не до тех пор, пока я не попробовал его с Xcode 7.0.1, что предупреждение исчезло.
Это предположение, но я думаю, что если у вас есть существующий проект и вы не создали новую версию модели данных и не создаете с Xcode 7, что отсутствует файл .omo, он бросает предупреждение, потому что он не может найти файл. Однако, если вы проверили версию своей модели данных и создали с Xcode 6.4, кажется, что более ранняя версия Xcode не делает что-то правильно с оптимизированной версией, и она не загружает ее, даже если она есть. Это только мои наблюдения.
Я проверил, что у меня была оптимизированная модель (файл .omo) для загрузки, выполнив следующие действия: 1. архивируйте свой проект 2. измените расширение .ipa на .zip 3. Разверните свой zip файл 4. Нажмите на папку "полезная нагрузка" и щелкните правой кнопкой мыши (или см. Щелчок) в комплекте приложения в папке и выберите "Показать содержимое пакета". 5. щелкните по каталогу .momd, вы увидите все доступные модели управляемых объектов.
Если все, что у вас есть, это файлы .mom и файлы .omo, то предупреждение имеет смысл, приложение не может открыть файл, который не существует.
В моем тестировании кажется, что предупреждение было только информационным. Из-за этого я никогда не сталкивался с этим. Похоже, что данные ядра могут сначала попытаться загрузить оптимизированную модель, и если это не сработает, вернитесь к обычной модели .momd. Это всего лишь мое предположение.
Я не уверен, что все здесь совершенно правильно, это то, что я наблюдал до сих пор, пытаясь отладить это. Если кто-либо еще может внести дополнительную информацию, я приветствую ваш вклад.