Редактор модели данных Xcode не отображается

Я использую Xcode 4.2, и я пытаюсь использовать Core Data. После нажатия на файл .xcdatamodeld я вижу странный вид вместо представления редактора модели данных.

Data Model Editor

Я переустановил Xcode 4.2 и даже создал проект с нуля с помощью Core Data Enabled, но проблема не устранена. Когда я создаю модель данных с помощью нового файла → Модель данных. Он не распознается как DataModel. Ctrl + Click → "Открыть как" отображает только "Предварительный просмотр". Я сравнил свой основной проект с созданным на другой машине (где все работает отлично). В каталоге diff показано:

  • Файл Foos.xcdatamodeld был помещен в раздел "Ресурсы копирования ресурсов" в разделе "Фаза сборки проекта", а не в разделе "Источники компиляции". Я переместил этот файл в раздел "Источники компиляции", но редактор модели данных все еще не отображается.

  • Файл Foos/Foos.xcdatamodeld/.xccurrentversion в рабочем проекте выглядел как


<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
   <key>_XCCurrentVersionName</key>
   <string>Foos.xcdatamodel</string>
</dict>
</plist>

а в нефункциональном -


<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
</dict>
</plist>
  1. Единственное отличие, которое я заметил, это то, что рабочая версия имела следующий файл project.pbxproj.

/* Begin XCVersionGroup section */
      831B12C114A7F73600524A33 /* Foos.xcdatamodeld */ = {
         isa = XCVersionGroup;
         children = (
            831B12C214A7F73600524A33 /* Foos.xcdatamodel */,
         );
         currentVersion = 831B12C214A7F73600524A33 /* Foos.xcdatamodel */;
         path = Foos.xcdatamodeld;
         sourceTree = "";
         versionGroupType = wrapper.xcdatamodel;
      };
/* End XCVersionGroup section */

в то время как сломанный не имел этой записи.

Я сделал каталог сравнения /Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Templates на моих двух машинах, и шаблоны идентичны.

Итак, мне интересно, какая часть Xcode вызывает вышеупомянутые различия на моей первичной машине dev. Любые предложения о том, что можно попробовать или что может вызвать эту проблему?

Ответ 1

У меня возникла аналогичная проблема. Проблема заключалась в структуре каталогов проектов и том, как она была настроена в XCode.

Подробнее здесь: XCode Cant 'Редактировать модель CoreData

Ответ 2

Я также столкнулся с этим.

Наконец, я смог получить xcode 4.6.3, чтобы восстановить интерактивный редактор, открыв в моем проекте .xcdatamodeld и изменив тип файла (в инспекторе файлов) из модели данных с версией Core Core в Core Data Model. Впоследствии я смог изменить его на версию модели с версией Core Data, и все продолжало работать.

Ответ 3

У меня была та же проблема, но, создав другую учетную запись на моем Mac, я смог создать проект с Core Data, где редактор открывается нормально. Оказалось, что мой профиль пользователя поврежден, и его невозможно устранить, переустановив Xcode.

Ответ 4

При создании новой модели данных перейдите в Редактоp > Добавить версию модели

Это исправило это для меня!:)

Ответ 5

Я решил проблему, открыв содержимое пакета xcdatamodeld, перетащив файл с тем же именем и используя его вместо этого, благодаря этому answer.