Если вы перестроите приложение после перехода на другую версию XCode, что произойдет с содержимым DerivedData? - PullRequest
0 голосов
/ 21 апреля 2020

CI моей команды использует более старый Xcode, чем последняя версия. В результате, если я хочу использовать новейший Xcode, мне нужно установить Xcode 11.3 и Xcode 11.4.1. Я был iOS разработчиком в течение долгого времени, поэтому мне удобно переключаться между X-кодами, и я знаю, что мне нужно обязательно изменить версию CommandLineTools и поменять зависимости в Карфагене, созданные с использованием любого Xcode I ' м переключается на. Все в порядке.

Традиционно при переключении между кодами X я удаляю DerivedData, однако приложение моей команды настолько велико, что для чистой сборки требуется 7 минут. Я не хотел бы нести этот штраф, если все, что я сделал, это переключил X-коды и затем переключился обратно.

Так вот мой вопрос: что произойдет с моими DerivedData, если я сделаю следующее:

  1. успешно скомпилировать мое приложение и его зависимости в Карфагене на Xcode 11.4.1
  2. выйти из Xcode 11.4.1, открыть Xcode 11.3, изменить CommandLineTools на Xcode 11.3
  3. mv Carthage ~/Desktop/Xcode11-4-Carthage/
  4. открыть мой проект и перестроить мои приложения и зависимости Carthage на 11.3
  5. выйти из Xcode 11.3, открыть Xcode 11.4.1, изменить CommandLineTools на Xcode 11.4.1
  6. mv Carthage ~/Desktop/Xcode11-3-Carthage/
  7. mv ~/Desktop/Xcode-11-4-Carthage/ Carthage/
  8. откройте мой проект и перестройте мое приложение на 11.4.1

На шаге 8 все ли DerivedData из шага 1 останутся без изменений , в результате чего ничего не нужно строить на самом деле? Или шаг 4 уничтожит всю работу, проделанную шагом 1?

Если ответ на последний вопрос «да», то есть ли способ заставить каждую версию XCode использовать отдельную папку DerivedData, например «DerivedData_XXXXXX», где XXXXXX - это идентификатор сборки того кода, который его построил в Xcode?

Более того, если после этого я вернусь к 11.4.1 и соберу снова, будет ли все предыдущее содержимое DerivedData из лат. 11.4.1 сборка все еще там, или я буду подвергаться полной перестройке?

Я просто ищу способ сэкономить время при переключении между версиями Xcode.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...