2

rubymotion を使用して構築したアプリケーションで sqlite データベースを処理するために FMDB を使用しています。

データベースを SQLCipher で暗号化したいのですが、sqlite3_key などの SQLCipher メソッドを使用しようとすると問題に直面します?

誰かが同じことを試しましたか?

** * ** * *** *追加:

SQLCipher api が提供する sqlite3_key メソッドを使用してデータベースを暗号化しようとすると、メソッドが定義されていないことを示す例外がスローされます。


4

1 に答える 1

1

SQLCipherポッドを追加してから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'
于 2013-01-22T19:17:42.717 に答える