奇怪的新的iOS 7错误:从DB / ForceShrinkPersistentStore_NoLock接收器

美好的一天。

我有一个使用SSL进行大量networking连接的项目。 这个项目运行良好,在iOS 5和6没有错误。但与新的iOS 7我不断收到这两个错误:

ERROR: unable to get the receiver data from the DB ForceShrinkPersistentStore_NoLock -delete- We do not have a BLOB or TEXT column type. Instead, we have 5. 

他们没有任何联系,我连续几个星期都拿到了第一个,之后我也拿到了第二个。

他们是在我的应用程序启动时收到的,此时我发送了几个HTTP POST并处理收到的数据。 我不知道这些错误来自哪里。

我可以find他们,如果我能理解他们。 任何人都知道他们的意思是什么,或者什么情况下可以导致他们?

我今天也遇到了第一个问题:

 ERROR: unable to get the receiver data from the DB 

我不知道原因(也许不知何故caching损坏),但删除所有的模拟器的应用程序文件夹使问题消失了我。

 rm -rf ~/Library/Application Support/iPhone Simulator/7.0-64/Applications/* 

我遇到了同样的问题,但在iOS设备(iPhone 4 iOS 7.0.4)上进行debugging时,

不知道是什么原因造成的……但我试着删除设备上的应用程序,然后重新运行,然后错误消失了。

这个错误通常发生在iOS7中,原因可能是caching问题 。 我通过删除模拟器的文件夹来解决这个问题。

脚步 :

右键单击“Finder”窗口select“转到文件夹”

粘贴“〜/ Library / Application Support / iPhone Simulator /”

这将打开包含模拟器在执行中使用的iPhone模拟器文件夹。

现在, 删除7.x文件夹。

在这里输入图像说明

今天有同样的问题。 在我的情况下ERROR: unable to get the receiver data from the DB错误信息中ERROR: unable to get the receiver data from the DB不能从模拟器/设备清理应用程序解决。 一旦运行应用程序一段时间的错误再次报告。 它也被logging每次我[NSURLSession dataTaskWithRequest:...]调用。

发现它与caching响应有关。 设置策略忽略本地caching消除错误logging:

 NSURLSessionConfiguration *defaultConfigObject = [NSURLSessionConfiguration defaultSessionConfiguration]; defaultConfigObject.requestCachePolicy = NSURLRequestReloadIgnoringLocalCacheData; NSURLSession *session = [NSURLSession sessionWithConfiguration: defaultConfigObject delegate: nil delegateQueue: [NSOperationQueue mainQueue]]; NSURLSessionDataTask * dataTask = [session dataTaskWithRequest:urlRequest completionHandler:completion]; [dataTask resume]; 

注意:一旦不再需要会话就会失效,否则会导致内存泄漏

我也面临类似的问题..

包括上面的build议,我也忽略了我的发布请求中的caching

 NSURLRequest *request = [NSURLRequest requestWithURL:url cachePolicy:NSURLRequestReloadIgnoringCacheData timeoutInterval:60.0]; 

而这个问题从未出现过

对我来说更容易解决:

刚从模拟器中删除应用程序(就像你从你的手机 – 没有必要删除一些文件夹)解决了这个问题。

删除派生的数据为我解决了这个问题。

窗口>pipe理器>项目

select你的项目,点击派生数据旁边的删除。