Repolode
stephencelis

stephencelis/SQLite.swift

Типобезопасный Swift-слой над SQLite3 для построения запросов и работы с данными в приложениях для Apple-платформ и Linux.

Звёзды
10,187
Форки
1,612
Открытые issues
133
Последний коммит
13 дней назад

Что это?

SQLite.swift предоставляет чистый Swift-интерфейс к C API SQLite3. Вместо склеивания SQL-строк разработчики составляют запросы с помощью типизированного построителя выражений, поэтому типы столбцов и их необязательность проверяются компилятором. Запросы можно объединять в цепочки и выполнять лениво — только по явному вызову.

При необходимости библиотека также служит тонкой, удобной для Swift оболочкой над обычным SQL: она поддерживает подготовленные выражения, привязку параметров и доступ к свойствам соединения, таким как totalChanges и lastInsertRowid. В неё входят помощники для запросов к схеме и миграций, поддержка полнотекстового поиска, настройка журналирования WAL и интеграция с SQLCipher через Swift Package Manager.

Библиотеку можно установить через Swift Package Manager, CocoaPods, Carthage или добавить в проект Xcode как подпроект. Она также работает в Linux, но с некоторыми ограничениями.

Ключевые возможности

  • 01Типобезопасный построитель SQL-выражений с поддержкой необязательных типов столбцов
  • 02Цепочечный API запросов с ленивым выполнением
  • 03Подготовленные выражения для обычного SQL с привязкой параметров
  • 04Помощники для запросов к схеме и миграций
  • 05Полнотекстовый поиск и настройка журналирования WAL
  • 06Поддержка SQLCipher через Swift Package Manager

Сценарии использования

  • Хранение локальных данных в приложении для iOS или macOS с запросами, проверяемыми при компиляции
  • Создание Swift-сервера или CLI-инструмента, который хранит данные в SQLite на Linux
  • Шифрование локальной базы данных с помощью SQLCipher в приложении для платформ Apple

Быстрый старт

  1. 1

    Добавьте зависимость SQLite.swift в Package.swift

  2. 2

    Соберите проект с помощью Swift Package Manager

    swift build

Что важно знать

  • При переборе результатов prepare() на каждом шаге используется try!, поэтому ошибка SQLite во время перебора приводит к аварийному завершению приложения. Для обработки ошибок используйте prepareRowIterator().
  • Поддержка Linux имеет некоторые ограничения.

В подборках

Темы

Частые вопросы

Что такое SQLite.swift?
Типобезопасный Swift-слой над SQLite3 для построения запросов и работы с данными в приложениях для Apple-платформ и Linux. SQLite.swift предоставляет чистый Swift-интерфейс к C API SQLite3. Вместо склеивания SQL-строк разработчики составляют запросы с помощью типизированного построителя выражений, поэтому типы столбцов и их необязательность проверяются компилятором. Запросы можно объединять в цепочки и выполнять лениво — только по явному вызову.
SQLite.swift можно использовать бесплатно? Какая у него лицензия?
SQLite.swift распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
SQLite.swift всё ещё поддерживается?
Активно поддерживается. Последний коммит в SQLite.swift — 25 окт. 2026 г..
Для чего можно использовать SQLite.swift?
Хранение локальных данных в приложении для iOS или macOS с запросами, проверяемыми при компиляции Создание Swift-сервера или CLI-инструмента, который хранит данные в SQLite на Linux Шифрование локальной базы данных с помощью SQLCipher в приложении для платформ Apple
Как установить SQLite.swift?
Добавьте зависимость SQLite.swift в Package.swift Соберите проект с помощью Swift Package Manager: swift build
Где скачать SQLite.swift?
Исходный код и инструкции по установке — на GitHub: https://github.com/stephencelis/SQLite.swift

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты

Набор инструментов на Swift для работы с SQLite: сохранение записей, интерфейс запросов, миграции и отслеживание изменений в базе данных приложений.

8,7 тыс.+9 за неделю1,1 тыс.SwiftMITАктивно поддерживаетсяОбновлён 3 дня назад