Repolode
stephencelis

stephencelis/SQLite.swift

Una capa de Swift con seguridad de tipos sobre SQLite3 que ofrece un generador de consultas y acceso tipado a datos para apps de Apple y Linux.

Estrellas
10,188
Forks
1,612
Issues abiertos
133
Último commit
hace 12 días

¿Qué es?

SQLite.swift envuelve la API de C de SQLite3 en una interfaz escrita íntegramente en Swift. En lugar de concatenar cadenas SQL, los desarrolladores crean consultas con un generador de expresiones tipado, de modo que el compilador comprueba los tipos de las columnas y si admiten valores opcionales. Las consultas se pueden encadenar y son diferidas: solo se ejecutan cuando se las solicita.

La biblioteca también funciona como una capa ligera y adaptada a Swift para trabajar con SQL sin procesar cuando hace falta, con prepared statements, vinculación de parámetros y acceso a propiedades de la conexión, como totalChanges y lastInsertRowid. Incluye utilidades para consultar esquemas y gestionar migraciones, compatibilidad con búsqueda de texto completo, configuración del registro WAL e integración con SQLCipher mediante Swift Package Manager.

Se puede instalar con Swift Package Manager, CocoaPods, Carthage o como subproyecto de Xcode, y funciona en Linux con algunas limitaciones.

Funciones clave

  • 01Generador de expresiones SQL con seguridad de tipos y tipos de columna que contemplan valores opcionales
  • 02API de consultas encadenables y de ejecución diferida
  • 03Prepared statements de SQL sin procesar con vinculación de parámetros
  • 04Utilidades para consultar esquemas y gestionar migraciones
  • 05Búsqueda de texto completo y configuración del registro WAL
  • 06Compatibilidad con SQLCipher mediante Swift Package Manager

Casos de uso

  • Guardar datos locales en una app de iOS o macOS mediante consultas verificadas en tiempo de compilación
  • Crear un servidor Swift o una herramienta de línea de comandos que almacene datos en SQLite en Linux
  • Cifrar una base de datos local con SQLCipher en una app para plataformas Apple

Inicio rápido

  1. 1

    Añade la dependencia SQLite.swift a Package.swift

  2. 2

    Compila el proyecto con Swift Package Manager

    swift build

Antes de usarlo

  • Al iterar los resultados de prepare(), se usa try! en cada paso, por lo que un error de SQLite durante la iteración provoca que la aplicación se cierre inesperadamente. Usa prepareRowIterator() para gestionar estos errores.
  • La compatibilidad con Linux tiene algunas limitaciones.

En colecciones

Temas

Preguntas frecuentes

¿Qué es SQLite.swift?
Una capa de Swift con seguridad de tipos sobre SQLite3 que ofrece un generador de consultas y acceso tipado a datos para apps de Apple y Linux. SQLite.swift envuelve la API de C de SQLite3 en una interfaz escrita íntegramente en Swift. En lugar de concatenar cadenas SQL, los desarrolladores crean consultas con un generador de expresiones tipado, de modo que el compilador comprueba los tipos de las columnas y si admiten valores opcionales. Las consultas se pueden encadenar y son diferidas: solo se ejecutan cuando se las solicita.
¿SQLite.swift es gratuito? ¿Qué licencia tiene?
SQLite.swift es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿SQLite.swift sigue mantenido?
Mantenimiento activo. El último commit de SQLite.swift fue el 25 oct 2026.
¿Para qué puedo usar SQLite.swift?
Guardar datos locales en una app de iOS o macOS mediante consultas verificadas en tiempo de compilación Crear un servidor Swift o una herramienta de línea de comandos que almacene datos en SQLite en Linux Cifrar una base de datos local con SQLCipher en una app para plataformas Apple
¿Cómo se instala SQLite.swift?
Añade la dependencia SQLite.swift a Package.swift Compila el proyecto con Swift Package Manager: swift build
¿Dónde consigo SQLite.swift?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/stephencelis/SQLite.swift

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados