Может ли файл XCConfig определять логические флаги для кода Swift?

Я хочу иметь логические макросы, чтобы включить некоторые функции в моем приложении для каждой сборки. Например, включите в сборках QA, но отключите в рабочей среде. Для этого я добавил этот код в файл моего приложения .xcconfing:

FEATURE_ENABLED=1

GCC_PREPROCESSOR_DEFINITIONS = $(inherited) FEATURE_ENABLED='${FEATURE_ENABLED}'

OTHER_SWIFT_FLAGS = $(inherited) -DFEATURE_ENABLED='${FEATURE_ENABLED}'
#if FEATURE_ENABLED
// do some stuff
#else
// do some other stuff
#endif

FEATURE_ENABLED работает в ObjC, когда я меняю его значение, но вообще не работает в Swift. Вопрос в том, почему и как заставить это работать.


person Roman Simenok    schedule 01.02.2019    source источник
comment
SWIFT_ACTIVE_COMPILATION_CONDITIONS = ENABLE_FEATURE; ? Флаги Swift на самом деле не заботятся о значении, вы не можете отключить их, установив 0.   -  person Sulthan    schedule 01.02.2019
comment
Также Использование переменных компилятора в Swift   -  person jscs    schedule 01.02.2019
comment
@Sulthan Спасибо за помощь, это помогает при сборке отладки. Но мне нужно значение в swift, и кажется, что я должен найти другое решение, возможно, с .plist.   -  person Roman Simenok    schedule 02.02.2019
comment
@JoshCaswell Спасибо за ссылки, у меня был ответ на мой вопрос.   -  person Roman Simenok    schedule 02.02.2019
comment
Рад, что смог помочь, не могли бы вы подтвердить это, щелкнув ссылку с флагом, выбрав дубликат и вставив ссылку?   -  person jscs    schedule 02.02.2019