TGViewer
Мобильный трудоголик Мобильный трудоголик @hardworkerit · 1.64K subscribers
Post #222 1.23K
🔢 Swift Configuration: новая библиотека для работы с настройками от Apple.

Друзья, привет! Apple выпустила долгожданную библиотеку Swift Configuration - универсальное решение для управления настройками в Swift-проектах. Расскажу, чем она полезна и как начать ее использовать.


Что такое Swift Configuration:

Данная библиотека предоставляет единый интерфейс для чтения настроек из различных источников. Больше не нужно писать разный код для работы с переменными окружения, JSON-файлами и аргументами командной строки.


Основные возможности:

🔹 Единый API: одинаковый код для всех источников настроек.
🔹 Горячее обновление: изменения применяются без перезапуска приложения.
🔹 Поддержка вложенности: работа со сложными структурами настроек.
🔹 Приоритеты источников: четкая иерархия важности настроек.


Пример:


import Configuration

// Настройка чтения из разных источников
let config = ConfigReader(providers: [
EnvironmentVariablesProvider(), // Переменные окружения
CommandLineArgumentsProvider(), // Аргументы командной строки
try await JSONProvider(filePath: "/app/config.json") // JSON-файл
])

// Чтение значения (ищет в порядке приоритета)
let timeout = config.int(forKey: "http.timeout", default: 30)
let host = config.string(forKey: "database.host", default: "localhost")



Как это работает в реальном проекте:

Представьте, у вас есть базовые настройки в JSON:


{
"database": {
"host": "localhost",
"port": 5432
}
}


Но для production вы можете переопределить их через переменные окружения:


export DATABASE_HOST=production_db.test.ru


Библиотека автоматически выберет значение из переменной окружения как более приоритетное.


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

🔹 Снижение количества шаблонного кода: больше не нужно писать парсеры для каждого типа конфигов.
🔹 Упрощение тестирования: легко подменять настройки в тестах.
🔹 Гибкость развертывания: разные среды через разные источники настроек.


🔗 Ссылка на подробную статью


💡 Вывод:

Swift Configuration - это серьезный шаг к стандартизации работы с настройками в Swift-экосистеме. Библиотека пока сыровата для продакшена, но идеи стоят внимания. Особенно ценна унификация доступа к разным источникам конфигов.


➡️ Подписаться на канал
Мобильный трудоголик
  • 🔥 12
  • 👍 6
  • ❤ 1
More from @hardworkerit
  1. Oct 6, 2026🔢 Swift 6.4: новая диагностика ретейн циклов. В Swift 6.4 появилась новая диагностика, ко…
  2. Oct 4, 2026🔢 SwiftUI: определение угла раскрытия iPhone Duo. В iOS 27.1 появился модификатор .onHing…
  3. Oct 2, 2026👣 Архитекторы, тестировщики и кодеры. Создаем мультиагентную команду Разработка с ИИ-аген…
  4. Oct 1, 2026🔢 Работа с Picture-in-Picture в iOS. Picture-in-Picture - системная функция iOS, которая…
  5. Sep 29, 2026🔢 Управление тулбарами на iPhone Duo. На iPhone Duo элементы управления навигацией, дейст…
  6. Sep 27, 2026🔢 Новые возможности Hashable в Swift 6.4 В Swift 6.4 добавили Hashable для нескольких тип…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →