Удалить файл .xcdatamodel из Xcode?

Я сделал легкую миграцию, и решил, что больше не хочу. Есть ли способ просто удалить файл? Я уже изменил текущую версию модели до той, которая была до нее, и приложение запускается. Однако, когда я щелкаю правой кнопкой мыши по файлу .xcdatamodel в средстве просмотра файлов Xcode, "Удалить" является серым. Я также попытался удалить файл из Finder, но он сохраняет файл в Xcode, redded-out.

Есть ли способ исправить это?

Ответ 1

Да, сделав это много, насколько мне известно, единственный способ открыть свой проект YourProject.xcodeproj/project.pbxproj в вашем любимом текстовом редакторе (vim ftw!), а также искать и удалять оба экземпляра нарушителя файл модели. То есть:

D6A5760112F22213004DEDCE /* MyModel.xcdatamodeld */ = {
  isa = XCVersionGroup;
  children = (
    D6EDB44614ED9D7E00C02938 /* MyModel-V12.xcdatamodel */,
    D6931E6214D78135007F0E03 /* MyModel-V11.xcdatamodel */,
    D61403DD14B7857100323E6D /* MyModel-V10.xcdatamodel */,
    D675476B149BD1F3007C160C /* MyModel-V9.xcdatamodel */,
    D6199DD5143DE428002869C1 /* MyModel-V8.xcdatamodel */,
  );
  currentVersion = D6EDB44614ED9D7E00C02938 /* MyModel-V12.xcdatamodel */;
  name = MyModel.xcdatamodeld;
  path = aPath/MyModel.xcdatamodeld;
  sourceTree = "<group>";
  versionGroupType = wrapper.xcdatamodel;
};

Итак, в этом случае я выхожу на поиск двух экземпляров D6199DD5143DE428002869C1 и удаляю их как из файла проекта, так и bang: Боб мой дядя. Кроме того, вы можете переупорядочить этот кусок детей выше, если хотите, чтобы текущий был выше.

После этого я обычно выполняю команду удаления исходного исходного кода вручную только на диске модели V8.

Ответ 2

Это также можно сделать, удалив .xcdatamodeld из проекта (просто удаляя, а не удаляя). Затем в Finder (или Terminal) удалите файл .xcdatamodel. И, наконец, переиздание .xcdatamodeld в проекте.