Применение макросов к модификаторам в SwiftUI

В прошлой статье о разработке приложений на SwiftUI я использовал следующий макрос вокруг блок кода, чтобы он соответсвенно присутствовал только в сборке под Catalyst:

Подобных макросов в Swift и SwiftUI несколько, например, есть еще

Так как не все API в SwiftUI доступны на всех платформах, то макросы оказываются крайне полезными. Приведу живой пример: focusable – это модификатор, недоступный на iOS.

Раз так, то если вы пишите код, который должен работать на всех платформах, то вам необходимо обернуть этот модификатор проверяющим макросом.

Да вот беда: сделать этого нельзя! Подобные строки добавленные в цепочку модификаторов вызывают ошибку компиляции:

ПК на базе Luna Design PRIME

Недавно задумался купить себе компьютер в дополнение к рабочему MacBook Pro 16″. Но последовательным изучением линейки актуальных ноутбуков и компьютеров Apple пришел к выводу, что либо мне не нужен свой макбук (я ведь всегда могу открыть рабочий ноут), либо мне нужен точно такой же, как рабочий, а он стоит почти 200 тысяч рублей. Это очень дорого.

Потом я вспомнил, что у дочери уже совсем на ладан дышит Mac mini 2011 и обратился к современному рынку компьютерных комплектующих. Таким образом родилась очень странная на первый взгляд, но оправданная сборка.