
Когда на Catalyst пишется приложение для macOS, недоступны некоторые модификаторы View. Например, простой refreshable(action:). Его использование вызывает ошибку не компиляции, а исключение в рантайме:
[General] SwiftUI.SwiftUI_UIRefreshControl is not supported when running Catalyst apps in the Mac idiom. See UIBehavioralStyle for possible alternatives. Consider using a Refresh menu item bound to ⌘-R
Из-за этого можно пропустить в продакшн код, который на платформе не работает на самом деле.
Исправить положение можно, отказавшись от модификатора и его функций, можно написать разные компоненты под разные платформы, но есть способ удобнее и лучше: собственный ViewModifier.
Читать далее «Простое кроссплатформенных использование модификаторов в SwiftUI»