将 FMDB + SQLCipher 与 Rubymotion 一起使用?

Posted

技术标签:

【中文标题】将 FMDB + SQLCipher 与 Rubymotion 一起使用?【英文标题】:Using FMDB + SQLCipher with Rubymotion? 【发布时间】:2013-01-13 15:24:14 【问题描述】:

我在使用 ruby​​motion 构建的应用程序中使用 FMDB 处理 sqlite 数据库。

我想用 SQLCipher 加密数据库,但当我尝试使用 SQLCipher 方法(例如 sqlite3_key)时遇到问题?

有人试过吗?

**********添加:

当我尝试使用 SQLCipher api 提供的 sqlite3_key 方法加密数据库时,它会抛出异常,并告知方法未定义。


【问题讨论】:

您能更具体地谈谈您面临的问题吗?错误信息? 【参考方案1】:

我认为您可以通过添加 SQLCipher pod 然后使用 FMDB FMDatabase.setKey 方法来做到这一点,而无需编写任何 C。

Rakefile

app.pods do
  pod 'FMDB'
  pod 'SQLCipher'
end

然后在你的Database.rb

class Database
  def self.connection
    unless @connection
      @connection = FMDatabase.databaseWithPath(db_path)
      @connection.traceExecution = true if $debug
      @connection.open
      @connection.setKey 'MySecretKey'
    end
  end
end

现在你应该可以用

查询数据库了
Database.connection.executeSelect 'SELECT * from some_table'

【讨论】:

是的,在经历了许多成功和考验之后,我已经做到了!

以上是关于将 FMDB + SQLCipher 与 Rubymotion 一起使用?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Swift 中使用“FMDB/SQLCipher”进行加密和解密?

如何通过 SQLCipher 在后台使用 FMDB?

迁移 SQLCipher 版本。 2.x 数据库到版本。 FMDB 使用的 3.x

iOS sqlcipher fmdb inTransaction “文件已加密或不是数据库”

iOS 设备上的 SQLCipher + DB 性能较差

Cocoapods、Swift 和 FMDB Cipher - 这三个目前兼容吗?