Как передать имя макроса препроцессора в команду сборки xcode? - PullRequest
0 голосов
/ 20 февраля 2019

Я делаю CI build на лазурных девопах.Я задаюсь вопросом, как передать значение макроса препроцессора, чтобы я мог создавать различные варианты сборки.

AFAIK, если мы можем установить макрос препроцессора в сборке xcode, то мы можем сделать это и на Azure Devops.

Любой полезный указатель приветствуется

Ответы [ 2 ]

0 голосов
/ 29 июля 2019

Подход 1: С помощью GCC_PREPROCESSOR_DEFINITIONS

Вы должны использовать GCC_PREPROCESSOR_DEFINITIONS в xcodebuild командной строке.

Вот пример макроса в вашем коде

#ifdef Flavour1 

NSLog(@"This is flavour 1"); 

#endif

и вот как вы можете передать макрос через командную строку

xcodebuild -verbose -scheme "YourAppScheme" GCC_PREPROCESSOR_DEFINITIONS='$GCC_PREPROCESSOR_DEFINITIONS Flavour1=1'

Подход 2:средства отдельной схемы xcode

имеют схему и соответствующую ей цель для каждого аромата.так что он может иметь другое имя приложения, номер версии, подписчиков и т. д. при необходимости, и вы можете вставить макрос в определение препроцессора настроек сборки в target.

Все, что вам нужно сделать, это просто передать правильную схему в xcodebuildи вы уже отсортировали

PS: -

Лично я предпочитаю подход 2, потому что его легко настроить, не сильно заботясь о параметрах командной строки xcodebuild.

0 голосов
/ 20 февраля 2019

Вы можете создать скрипт ruby, который может настроить проект.Xcodeproj - это мощный инструмент для изменения проектов Xcode.

https://github.com/CocoaPods/Xcodeproj

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