SQLite.swift icon indicating copy to clipboard operation
SQLite.swift copied to clipboard

SQLCipher Swift Package Manager Integration

Open R4N opened this issue 3 months ago • 1 comments

Enables the ability to add SQLCipher.swift Official Swift Package as a dependency when enabling it using SQLCipher Swift Package trait.

Changes

  • Adds SQLCipher.swift package as a Package dependency in Package.swift
  • Adds SQLCipher trait to Package.swift
  • Adds SQLCipher product as a SQLite Target dependency when SQLCipher package trait is enabled
  • Adds SQLITE_HAS_CODEC cSetting to SQLite Target when SQLCipher package trait is enabled
  • Adds SQLITE_HAS_CODEC swiftSetting to SQLite Target when SQLCipher package trait is enabled
  • Adds SQLITE_SWIFT_SQLCIPHER swiftSetting to SQLite Target when SQLCipher package trait is enabled
  • Cipher.swift Connection extension now enabled by SQLITE_SWIFT_SQLCIPHER swiftSetting when SQLCipher package trait is enabled
  • Adds SQLITE_SWIFT_SQLCIPHER swiftSetting to SQLiteTests target to enable CipherTests when SQLCipher package trait is enabled
  • Adds cipherFipsStatus, cipherProvider, cipherProviderVersion properties to Cipher Connection extension
  • Adds applyLicense(), enableCipherLogging(), disableCipherLogging() functions to Cipher Connection extension

Resolves #1084, #1261, #1328

Checks

  • [x] make lint
  • [x] swift test
  • [x] swift test --traits SQLCipher
  • [x] make test
  • [x] Adds Tests for new Cipher properties
  • [x] Updates documentation for adding SQLite.swift Swift Package with SQLCipher trait enabled

Ongoing Support

The SQLCipher Team is committed to updating and supporting the official SQLCipher.swift Swift Package. We're happy to assist with any GitHub issues related to integration or troubleshooting using SQLite.swift with SQLCipher.swift package dependency. Please feel free to raise an issue in the Official SQLCipher.swift repo

R4N avatar Oct 08 '25 17:10 R4N