В настоящее время я работаю с парой рабочих пространств Xcode. Цель рабочих областей состоит в том, чтобы позволить одной версии быть построенной с предварительно собранными версиями проектов зависимостей, в то время как другая будет построена со всеми зависимостями как проекты.
Скажем, у нас есть главный проект A. И что у A есть зависимости B и C. У нас есть две рабочие области, которые содержат следующие проекты.
Рабочая область 1: A.xcodeproj B.xcodeproj
Рабочая область 2: A.xcodeproj B .xcodeproj C .xcodeproj
Для рабочей области 1 A и B существуют как проекты, но C будет рассматриваться как предварительно созданная среда. Для рабочей области 2 A, B и C существуют как проекты. Другими словами, A и B можно отлаживать в Workspace 1, тогда как A, B и C можно отлаживать в Workspace 2.
Цель состоит в том, чтобы иметь возможность иметь эти 2 (или более) рабочих пространства в таких способ, которым сборка не приводит к необходимости сначала изменять какие-либо из существующих файлов проекта.
У меня есть эта работа посредством фазы сборки, которая копирует файл xcconfig
, который "конфигурирует" настройки сборки А. Эта фаза сборки выполняется с помощью другого файла проекта, который я назову Bootstrap.xcodeproj
. Этот файл проекта содержит фазу сборки, которая копирует xcconfig
, а также имеет A в качестве цели сборки, определенной в его схеме. Что я заметил, так это то, что независимо от того, включена или выключена параллельная сборка, иногда Bootstrap запускается до или после A. И даже если запускается до A, настройки сборки не всегда обновляются.
Это заметно, если я создаю Workspace 1, а затем Workspace 2. При создании Workspace 2 первая сборка не удастся, потому что он все еще использует xcconfig
из Workspace 1.
Проверка, знает ли кто-нибудь способ получения Xcode обновить настройки сборки с xcconfig
динамически или лучше организовать это.