Вот случай, с которым я столкнулся при создании своего приложения для Mac.
У проекта есть три цели: цель A состоит из исходного кода пользовательского интерфейса и создает окончательное приложение; цель B создает тестовую программу командной строки, которая выполняет некоторые модульные тесты (я не использую автоматически сгенерированную цель XXXTests); и цель C состоит из серверных кодов src и создает статическую библиотеку для целей A и B, на которые можно ссылаться.
Проблема в том, что для цели B требуется цель C, построенная с флагом "-DZS_TEST", а для цели A нужна цель C, построенная без этого флага. Итак, как настроить параметры проекта/цели xcode, чтобы мне не приходилось менять какие-либо настройки при переключении с создания цели A и цели B? Потому что изменение параметра сборки приводит к тому, что git сообщает о неустановленных файлах, что кажется ненужным, потому что я просто хочу создать другую цель.
Мне интересно, может ли xcode пересылать флаг от зависимой цели к зависимой цели, тогда я могу позволить B переслать «-DZS_TEST = 1» на C и позволить цели A переслать «-DZS_TEST = 0» на C.
Или есть лучший способ разделить проект на разные цели?
Я погуглил и нашел много статей, связанных с настройками сборки xcode, но они не разделяют конкретной потребности, как этот проект. Так что спасибо заранее.