Как удалить старую / неиспользуемую версию модели данных в XCo de
Как я могу удалить старую модель данных в XCode? Опция отключена в меню. (Модели, которые я хочу удалить, не были опубликованы - они являются временными моделями разработки.)
3 ответа
Это взлом, но это сработало для меня:
- Установите текущую версию модели в XCode к той, которую вы хотите сохранить
- Удалите.xcdatamodeld из вашего проекта (щелкните правой кнопкой мыши -> Удалить -> Удалить только ссылку)
- Показать содержимое пакета.xcdatamodeld в Finder (щелкните правой кнопкой мыши -> Показать содержимое пакета)
- Удалите файлы.xcdatamodel, которые вам больше не нужны
- Повторно добавьте файл.xcdatamodeld в свой проект
Это устраняет необходимость вручную изменять любые файлы метаданных проекта.
Я только что нашел необходимость сделать это. Я создал новую версию модели и понял, что она мне больше не нужна. Я был удивлен, обнаружив, что не было никакого способа удалить его (что я мог найти) из Xcode. Тем не менее, чтобы удалить его, я сделал следующее:
Сначала я убедился, что это не моя текущая версия модели. Затем я пошел в Finder и нашел свой файл *.xcdatamodeld. Щелкните правой кнопкой мыши и покажите содержимое пакета на этом. Там вы найдете актуальный файл модели и можете удалить его.
Это все еще не удаляет это из XCode, и это покажет красный в Файлах и Группах. Чтобы этого не происходило, вернитесь в Finder и покажите содержимое пакета в вашем основном файле *.xcodeproj (вы можете сначала убедиться, что у вас есть резервная копия). Там откройте и отредактируйте project.pbxproj и найдите название вашей модели, в моем случае "интервал 8". Для меня это появилось на двух отдельных строчках. Я удалил эти строки, и теперь он полностью удален из Xcode.
Это сработало для меня в XCode 10.3 без проблем с порядком, возникающих при удалении всей модели и ее повторном добавлении:
- Выберите любую версию модели, кроме той, которую вы хотите удалить.
- В XCode щелкните правой кнопкой мыши файл.xcdatamodeld и выберите "Показать в Finder".
- Закройте XCode.
- В Finder щелкните правой кнопкой мыши тот же файл и выберите "Показать содержимое пакета".
- Запишите название модели, которую хотите удалить, затем удалите ее из Finder.
- По-прежнему в Finder перейдите к файлу проекта (.xcodeproj).
- Щелкните правой кнопкой мыши и откройте с помощью Atom или любого другого редактора.
- На панели "Проект" откройте файл project.pbxproj.
Удалите все строки, содержащие название модели, которую вы удалили (пример: "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 */;
Это означает, что это текущая выбранная модель. Никогда не удаляйте эту строку. Просто измените текст на другую версию модели.
Снова откройте XCode.
Мой ответ совсем не конкретный, но быстрый и работает. Для тех, кто использует git. Вы можете просто отменить внесенные изменения.
git stash save --keep-index
Тогда вы можете бросить этот тайник с git stash drop
Команда, если хотите.