У меня есть проект XCode (A
) ссылка на другой проект (B
). По умолчанию (насколько я понимаю это) XCode неявно создаст конфигурацию для B
зависимость, которая соответствует конфигурации A
цель (например, "Отладка"). Но что, если я хочу, скажем, A
создавать как "Отладка" и B
создавать как "Выпуск"? Как я пошел бы об определении этого в XCode?
Я не знаю ни одного простого подхода, но вы можете подобрать его, вызвав xcodebuild напрямую для зависимости с фазой сборки «Run Script».
Я знаю, что это было просто пример, но если ваша настоящая цель состоит в том, чтобы подпроект был сборкой Release (без символов), тогда у вас может быть лучший опыт, просто встроив подпроект в библиотеку или фреймворк и проверив полученный двоичный файл в вашем система контроля версий. Всякий раз, когда у меня есть часть системы, которая редко изменяется и для которой мне не нужны символы отладки, я создаю ее как статическую библиотеку и проверяю ее. Я часто иду дальше и перемещаю код в другое место (с файл README с расширением .a, в котором указано, где находится код и как он был построен).
Да, это естественно не поддерживается Xcode; когда вы создаете цель, она создает одну конфигурацию для себя и всех зависимых целей.
Как сказал Роб, обходной путь состоит в том, чтобы иметь зависимую цель, которая является типом Aggregate Target, которая включает одну фазу сборки Run Script, которая просто вызывает xcodebuild -configuration Release (или что-то еще).