Сделайте целевой флаг Swift видимым в модуле UITests (Swift 5) - PullRequest
0 голосов
/ 26 мая 2020

У меня более одной цели в проекте и много общего кода между всеми Target.

s

Я хочу сделать -D $(TARGETNAME) видны в UITests и иметь возможность @testable import enum TargetFirst.MyEnum из root проекта (MyEnum используется во всех Targets)

что должно быть в файле UITest:

#if TargetFirst
    @testable import enum TargetFirst.MyEnum
#elseif TargetSecond
    @testable import enum TargetSecond.MyEnum
#endif

Конечно, я могу создать отдельный файл для каждой цели, но я хочу избежать дублирования кода.

Возможно ли это сделать? Если да, то что я пропустил и как заставить работать?

1 Ответ

0 голосов
/ 26 мая 2020

Вы можете добавить Активные условия компиляции в Настройки сборки для ваших целей.

*

Активные условия компиляции - это новый параметр сборки для передачи флагов условной компиляции в компилятор Swift.

import XCTest

#if FirstTarget
   // ..
#else
   // ..
#endif

enter image description here

...