Я хочу иметь логические макросы, чтобы включить некоторые функции в моем приложении для каждой сборки. Например, включите в сборках 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. Вопрос в том, почему и как заставить это работать.
SWIFT_ACTIVE_COMPILATION_CONDITIONS = ENABLE_FEATURE;
? Флаги Swift на самом деле не заботятся о значении, вы не можете отключить их, установив0
. - person Sulthan   schedule 01.02.2019.plist
. - person Roman Simenok   schedule 02.02.2019