SwiftUI-Adapter
SwiftUI-Adapter

Друзья, привет! Сегодня хочу представить вам свою библиотеку - SwiftUI-Adapter, которая избавит вас от головной боли при работе с новыми модификаторами SwiftUI.


Недавно я наткнулся на удобную Android-библиотеку, которая упрощает работу с разными версиями API и подумал: «Почему бы не сделать что-то подобное для SwiftUI?». После этого родилась идея разработать инструмент, который избавит вас от бесконечных проверок available и сделает код чище.

Ссылка на библиотеку в GitHub

Установка библиотеки выполняется через Swift Package Manager.


Зачем это нужно?

Каждый раз, когда Apple выпускает новый модификатор в SwiftUI, нам приходится писать такие конструкции:

if #available(iOS 15.0, macOS 12.0, *) {
  YourView()
    .badge(5)
} else {
  YourView()
}

SwiftUI-Adapter делает эту рутину за вас! Просто используйте единый синтаксис – проверки версий останутся под капотом:

YourView()
  .adapter.badge(5)

Преимущества:

  • Не повлияет на производительность: все проверки производятся на этапе компиляции.

  • Чистая кодовая база: больше никаких available в каждом втором файле.

  • Простота интеграции: добавляется за пару минут через SPM.

  • Открытый исходный код: полная прозрачность, возможность вносить правки и участвовать в развитии.

  • Библиотека поддерживает модификаторы доступные с iOS 15 и выше, а так же macOS 12 и выше.


SwiftUI-Adapter поддерживает большое количество модификаторов, включая новые модификаторы, которые были добавлены в iOS 26 и macOS 26. Описание каждого из модификаторов доступно на странице в GitHub.

Ознакомиться с другими моими публикациями и разработками можно в моем телеграм канале.

Комментарии (2)


  1. house2008
    12.11.2025 16:06

    1. Никто никогда не будет пользоваться либой где в хедере файла написано на русском и ссылка на тг))

    2. Я не спец в Swift, но часть функций в SwiftUIAdapter.swift непублиные как и сам extension где они описаны. Не думаю что они будут доступны при импорте вашего модуля. Мб ошибаюсь.


    1. den_apps Автор
      12.11.2025 16:06

      Чем плох русский язык в хедере?)