在我的应用程序中,我使用CoreData和RestKit。如果应用程序进入后台我加密商店sqlite文件。现在,如果新用户正在登录,我必须完全清除存储,以便用户以新的Core Data存储开始。因为我已经加密了sqlite存储,所以无法对其进行解密,然后执行[[[RKObjectManager sharedManager] objectStore] deletePersistentStore],因为解密密钥是以用户密码作为属性创建的。所以我只是在本地删除我的“TestStore_Encrypted.sqlite”文件。但是如果用户已登录,则每个获取的请求仍会获取数据,但iPad上不再有sqlite文件。所以我认为它仍然在缓存或其他东西。我尝试重置:
[[[[RKObjectManager sharedManager] objectStore] primaryManagedObjectContext] reset];
知道如何实现这个目标吗?
答案 0 :(得分:3)
使用RestKit 0.20执行此操作的正确方法是RKManagedObjectStore
的{{1}}方法。