将 FMDB + SQLCipher 与 Rubymotion 一起使用?
Posted
技术标签:
【中文标题】将 FMDB + SQLCipher 与 Rubymotion 一起使用?【英文标题】:Using FMDB + SQLCipher with Rubymotion? 【发布时间】:2013-01-13 15:24:14 【问题描述】:我在使用 rubymotion 构建的应用程序中使用 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 版本。 2.x 数据库到版本。 FMDB 使用的 3.x