Редактор модели данных XCode не появляется - PullRequest
10 голосов
/ 27 декабря 2011

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

Data Model Editor

Я переустановил Xcode 4.2 и даже создал стартовый проект с нуля с CoreДанные включены, но проблема не устранена.Когда я создаю модель данных, используя новый файл -> Модель данных.Он не распознается как модель данных.Ctrl + Click -> «Открыть как» отображает только «Предварительный просмотр» вариант.Я сравнил свой основной проект с тем, который был создан на другой машине (где все работает отлично).Дифференциал каталога показывает:

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

  2. Файл 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>
Единственное другое отличие, которое я заметил, заключалось в том, что рабочая версия содержала следующее в файле 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 вызываетвышеуказанные различия на моей основной машине разработчика.Любые предложения о том, что можно попробовать или что может быть причиной этой проблемы?

Ответы [ 5 ]

6 голосов
/ 06 декабря 2012

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

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

2 голосов
/ 29 августа 2013

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

Я наконец смог получить xcode 4.6.3 для восстановления интерактивного редактора, открыв .xcdatamodeld в моем проекте и изменив Тип файла (в инспекторе файлов) с Версионные основные данные Модель до Базовая модель данных . Мне удалось изменить его обратно на Версионная модель базовых данных , позже, и все продолжало работать.

0 голосов
/ 27 марта 2017

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

0 голосов
/ 05 апреля 2016

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

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

0 голосов
/ 31 августа 2014

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

...