奇怪的新的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你的项目,点击派生数据旁边的删除。