Я зіткнувся з цим питанням і копався навколо.
Я будував за допомогою Xcode 6.4, і схоже, що раніше основні дані створювали лише файл .mom у каталозі momd MyApp.ipa. Цей скріншот зроблений з проекту, який бачив кілька версій 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) я не отримую цього попередження. Я здогадуюсь, що причина рішення Махеша працює в тому, що перезапис усієї схеми створює файл .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. натисніть на папку "payload" і клацніть правою кнопкою миші (або клацанням cmd) на наборі програм у папці та виберіть "Показати вміст пакета". 5. клацніть на каталог .momd, ви побачите там усі доступні керовані об'єктні моделі.
Якщо у вас є лише файли .mom, а файли .omo відсутні, то попередження має повний сенс, програма не може відкрити файл, який не існує.
У моєму тестуванні здається, що попередження мало лише інформаційний характер. Я ніколи не мав жодного збою через це. Здається, що основні дані можуть спробувати завантажити оптимізовану модель спочатку, і якщо це не вдасться, поверніться до звичайної моделі .momd. Однак це лише мої припущення.
Я не впевнений, що тут все цілком правильно, це саме те, що я спостерігав до цього часу, намагаючись це налагодити. Якщо хтось інший може надати більше інформації, я вітаю вашу інформацію.