2

私のアプリでは、CoreData と RestKit を使用しています。アプリがバックグラウンドに入ると、ストアの sqlite ファイルを暗号化します。新しいユーザーがログインしている場合は、ストアを完全にクリアして、ユーザーが新しい Core Data ストアから開始できるようにする必要があります。sqlite ストアを暗号化したため、復号化できず、[[[RKObjectManager sharedManager] objectStore] deletePersistentStore] を実行できません。これは、復号化キーがユーザー パスワードを属性として作成されているためです。したがって、「TestStore_Encrypted.sqlite」ファイルをローカルで削除するだけです。ただし、ユーザーがログインしている場合、フェッチされたすべてのリクエストは引き続きデータを取得しますが、SQLite ファイルは iPad に存在しなくなります。だから、まだキャッシュか何かにあると思います。私はリセットしようとしました:

[[[[RKObjectManager sharedManager] objectStore] primaryManagedObjectContext] reset];

それを達成する方法はありますか?

4

1 に答える 1

3

RestKit 0.20 でそれを行う正しい方法は、RKManagedObjectStoreresetPersistentStores方法です。

于 2013-05-24T20:57:53.120 に答える