Как удалить старую / неиспользуемую версию модели данных в XCo de

Как я могу удалить старую модель данных в XCode? Опция отключена в меню. (Модели, которые я хочу удалить, не были опубликованы - они являются временными моделями разработки.)

3 ответа

Решение

Это взлом, но это сработало для меня:

  1. Установите текущую версию модели в XCode к той, которую вы хотите сохранить
  2. Удалите.xcdatamodeld из вашего проекта (щелкните правой кнопкой мыши -> Удалить -> Удалить только ссылку)
  3. Показать содержимое пакета.xcdatamodeld в Finder (щелкните правой кнопкой мыши -> Показать содержимое пакета)
  4. Удалите файлы.xcdatamodel, которые вам больше не нужны
  5. Повторно добавьте файл.xcdatamodeld в свой проект

Это устраняет необходимость вручную изменять любые файлы метаданных проекта.

Я только что нашел необходимость сделать это. Я создал новую версию модели и понял, что она мне больше не нужна. Я был удивлен, обнаружив, что не было никакого способа удалить его (что я мог найти) из Xcode. Тем не менее, чтобы удалить его, я сделал следующее:

Сначала я убедился, что это не моя текущая версия модели. Затем я пошел в Finder и нашел свой файл *.xcdatamodeld. Щелкните правой кнопкой мыши и покажите содержимое пакета на этом. Там вы найдете актуальный файл модели и можете удалить его.

Это все еще не удаляет это из XCode, и это покажет красный в Файлах и Группах. Чтобы этого не происходило, вернитесь в Finder и покажите содержимое пакета в вашем основном файле *.xcodeproj (вы можете сначала убедиться, что у вас есть резервная копия). Там откройте и отредактируйте project.pbxproj и найдите название вашей модели, в моем случае "интервал 8". Для меня это появилось на двух отдельных строчках. Я удалил эти строки, и теперь он полностью удален из Xcode.

Это сработало для меня в XCode 10.3 без проблем с порядком, возникающих при удалении всей модели и ее повторном добавлении:

  1. Выберите любую версию модели, кроме той, которую вы хотите удалить.
  2. В XCode щелкните правой кнопкой мыши файл.xcdatamodeld и выберите "Показать в Finder".
  3. Закройте XCode.
  4. В Finder щелкните правой кнопкой мыши тот же файл и выберите "Показать содержимое пакета".
  5. Запишите название модели, которую хотите удалить, затем удалите ее из Finder.
  6. По-прежнему в Finder перейдите к файлу проекта (.xcodeproj).
  7. Щелкните правой кнопкой мыши и откройте с помощью Atom или любого другого редактора.
  8. На панели "Проект" откройте файл project.pbxproj.
  9. Удалите все строки, содержащие название модели, которую вы удалили (пример: "ABC 17.xcdatamodel"). Вы найдете две строки, похожие на следующие:

    9D88880323C545B800A789B9 /* ABC 17.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; путь = "ABC 17.xcdatamodel"; sourceTree = ""; };

    9D88880323C545B800A789B9 /* ABC 17.xcdatamodel */,

    Обратите внимание, если вы найдете третью строку, она будет примерно такой:

    currentVersion = 9D88880323C545B800A789B9 /* ABC 17.xcdatamodel */;

    Это означает, что это текущая выбранная модель. Никогда не удаляйте эту строку. Просто измените текст на другую версию модели.

  10. Снова откройте XCode.

Мой ответ совсем не конкретный, но быстрый и работает. Для тех, кто использует git. Вы можете просто отменить внесенные изменения.

git stash save --keep-index

Тогда вы можете бросить этот тайник с git stash drop Команда, если хотите.

Другие вопросы по тегам