Xcode автоматически удаляет инструменты/генератор при сборке

#ios #xcode #mogenerator

Вопрос:

Вчера, без всякой провокации, Xcode начал автоматически удалять Tools/mogenerator файл в моем проекте при каждой сборке. Когда я отбрасываю полученное удаление git (возвращаю файл обратно) и перестраиваю, Xcode быстро удаляет файл снова. Этот файл необходим для запуска скрипта в моем проекте, поэтому его удаление, очевидно, нарушает мои сборки, но, похоже, нет способа убедить Xcode просто оставить его там, где ему место.

У меня есть:

  • Очищен и восстановлен
  • Бежать git clean -fdx
  • Удаленный Xcode/DerievedData
  • Перезапустил свою машину
  • Сбросил ядерную бомбу и повторно закрыл репо
  • Клонировал репозиторий в другую папку
  • Обновленный Xcode
  • Удален и переустановлен Xcode

Я делал большинство из них несколько раз.

Я единственный в своей команде, у кого возникла эта проблема, и чистый клон репозитория вызывает у меня точно такую же проблему, поэтому я уверен, что это не имеет никакого отношения к моему коду. Это должно быть что — то в моем окружении. Но я не могу припомнить, чтобы делал что-то, что могло бы так повлиять на мое окружение. Вчера я построил без проблем, а через 5 минут я построил снова, и это произошло. Я ничего не менял.

Я в полной растерянности, как и все остальные инженеры в моей команде. Никто из нас раньше не видел ничего подобного, и ничто из того, что мы пробовали, не сработало. Это кому-нибудь знакомо? Есть ли еще один шаг, который я могу предпринять, чтобы очистить свою окружающую среду?

Обновить

Похоже, что этот сценарий запуска в цели Mogenerator и является причиной проблемы. Изначально я предполагал , что это сработало, потому что это было единственное, на что ссылаются Tools/mogenerator , но оказывается, когда я удаляю его, файл вообще не удаляется, и все работает нормально. У всех остальных в моей команде точно такой же сценарий, поэтому я понятия не имею, почему это вызывает проблемы только у меня.

Tools/mogenerator -m Inspirato/Inspirato.xcdatamodeld --machine-dir Inspirato/Model/Generated --human-dir Inspirato/Model --swift --template-var arc=true --template-var scalarsWhenNonOptional=true

Комментарии:

1. попробуйте установить среду на виртуальной машине.

2. Попробуйте просмотреть журнал сборки (меню просмотра -> Навигаторы ->> Отчеты или cmd-9), чтобы узнать, можете ли вы найти шаг, на котором он удаляется.

3. @TomHarrington Я не вижу ничего подозрительного. Есть ли что-то конкретное, что вы бы посоветовали мне поискать?

4. Не совсем так, но удаление подобных файлов-это не то, что обычно делает Xcode. Однако он документирует свои шаги в журнале сборки, поэтому это кажется хорошим местом для поиска информации. Я бы попробовал экспортировать журнал сборки в виде текстового файла (кнопка «Экспортировать…» вверху), чтобы вы могли видеть каждую выполняемую команду. Просканируйте файл на наличие любого упоминания о mogenerator.