Repolode
stephencelis

stephencelis/SQLite.swift

Uma camada Swift com segurança de tipos sobre o SQLite3, com query builder e acesso tipado a dados para apps Apple e Linux.

Estrelas
10,187
Forks
1,612
Issues abertas
133
Último commit
há 13 dias

O que é?

SQLite.swift encapsula a API C do SQLite3 em uma interface escrita totalmente em Swift. Em vez de concatenar strings SQL, os desenvolvedores constroem consultas com um builder de expressões tipado, permitindo que o compilador verifique os tipos e a opcionalidade das colunas. As consultas podem ser encadeadas e são avaliadas sob demanda, apenas quando executadas.

Quando necessário, a biblioteca também funciona como um wrapper fino e compatível com Swift para SQL puro, com prepared statements, vinculação de parâmetros e acesso a propriedades da conexão, como totalChanges e lastInsertRowid. Ela inclui recursos auxiliares para consultar o schema e fazer migrações, suporte a busca full-text, configuração do journaling WAL e integração com SQLCipher via Swift Package Manager.

Pode ser instalada via Swift Package Manager, CocoaPods, Carthage ou como um subprojeto do Xcode, e funciona no Linux com algumas limitações.

Recursos principais

  • 01Builder de expressões SQL com segurança de tipos e tipos de coluna que levam a opcionalidade em conta
  • 02API de consultas encadeável e executada sob demanda
  • 03Prepared statements para SQL puro com vinculação de parâmetros
  • 04Recursos auxiliares para consultar o schema e fazer migrações
  • 05Busca full-text e configuração do journaling WAL
  • 06Suporte ao SQLCipher via Swift Package Manager

Casos de uso

  • Persistir dados locais em um app iOS ou macOS com consultas verificadas pelo compilador
  • Criar um servidor Swift ou uma ferramenta de linha de comando que armazene dados em SQLite no Linux
  • Criptografar um banco de dados local com SQLCipher em um app para plataformas Apple

Início rápido

  1. 1

    Adicione a dependência SQLite.swift ao Package.swift

  2. 2

    Compile o projeto com o Swift Package Manager

    swift build

Antes de usar

  • Ao iterar os resultados de prepare(), cada etapa usa try!, então um erro do SQLite durante a iteração faz o app travar. Use prepareRowIterator() para tratar esses erros.
  • O suporte ao Linux tem algumas limitações.

Em coleções

Tópicos

Perguntas frequentes

O que é SQLite.swift?
Uma camada Swift com segurança de tipos sobre o SQLite3, com query builder e acesso tipado a dados para apps Apple e Linux. SQLite.swift encapsula a API C do SQLite3 em uma interface escrita totalmente em Swift. Em vez de concatenar strings SQL, os desenvolvedores constroem consultas com um builder de expressões tipado, permitindo que o compilador verifique os tipos e a opcionalidade das colunas. As consultas podem ser encadeadas e são avaliadas sob demanda, apenas quando executadas.
SQLite.swift é gratuito? Qual é a licença?
SQLite.swift é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
SQLite.swift ainda é mantido?
Manutenção ativa. O último commit de SQLite.swift foi em 25 de out. de 2026.
Para que posso usar SQLite.swift?
Persistir dados locais em um app iOS ou macOS com consultas verificadas pelo compilador Criar um servidor Swift ou uma ferramenta de linha de comando que armazene dados em SQLite no Linux Criptografar um banco de dados local com SQLCipher em um app para plataformas Apple
Como instalar SQLite.swift?
Adicione a dependência SQLite.swift ao Package.swift Compile o projeto com o Swift Package Manager: swift build
Onde consigo SQLite.swift?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/stephencelis/SQLite.swift

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados