So far the answer from Martin R has worked perfectly. But starting with Swift2 it now raises the error
Cannot invoke initializer for type \'sqlite3_d
Taken from the github post provided courtesy of @MartinR the answer is
internal let SQLITE_STATIC = unsafeBitCast(0, sqlite3_destructor_type.self) internal let SQLITE_TRANSIENT = unsafeBitCast(-1, sqlite3_destructor_type.self)