web-dev-qa-db-ja.com

奇妙な新しいiOS 7エラー:DBからのレシーバー/ ForceShrinkPersistentStore_NoLock

良い一日。

SSLを使用して多くのネットワーク接続を使用するプロジェクトがあります。このプロジェクトは正常に実行され、iOS 5および6ではエラーが発生しません。しかし、新しいiOS 7では、これら2つのエラーが引き続き発生します。

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.

それらは何らかの方法で接続されておらず、数週間は最初のものを取得し続けましたが、後でこの2番目のものも取得しました。

それらは私のアプリケーションの開始時に受信され、その時点でいくつかのHTTP POSTを送信し、受信したデータを処理します。これらのエラーがどこから来たのかはわかりません。

私はそれらを理解できればそれらを見つけることができます。誰が何を意味するのか、どのような場合にそれらを引き起こす可能性があるのか​​を知っていますか?

41
avuthless

また、今日あなたの最初の問題もありました。

ERROR: unable to get the receiver data from the DB

理由はわかりませんが(おそらくキャッシュが壊れているかもしれません)、シミュレーターのすべてのアプリケーションフォルダーを削除すると、問題はなくなりました。

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

今日も同じ問題が発生しました。私の場合 ERROR: unable to get the receiver data from the DBエラーメッセージは、シミュレータ/デバイスからアプリをクリーニングしても解決されませんでした。しばらくアプリを実行すると、エラーが再び報告されました。また、毎回ログに記録されました[NSURLSession dataTaskWithRequest:...]呼び出し。

キャッシュ応答に関連していることがわかりました。ローカルキャッシュを無視するようにポリシーを設定すると、エラーログが削除されます。

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];

注:セッションは、不要になったら無効にする必要があります。無効にしないと、メモリリークが発生します

3
Delorean

同じ問題が発生しましたが、iOSデバイスでデバッグ中です(iPhone 4 iOS 7.0.4)

何が原因かわからない...しかし、デバイス上のアプリを削除して再実行しようとすると、エラーはなくなりました。

3
Perisheroy

このエラーは通常iOS7で発生し、理由はキャッシュの問題である可能性があります。 シミュレーターのフォルダーを削除するで問題を修正しました。

手順:

「Finder」ウィンドウを選択して右クリック「フォルダに移動」

貼り付け“〜/ライブラリ/ Application Support/iPhone Simulator /”

これにより、実行に使用されるシミュレーターを含むiPhone Simulatorフォルダーが開きます。

ここで、7.xフォルダーを削除

enter image description here

3

私にとっては簡単に修正できました:

シミュレーターからアプリを削除しただけで(電話からのように-一部のフォルダーを削除する必要はありません)、問題が修正されました。

1
GrandSteph

私も同様の問題に直面しました。

上記の提案を含めて、投稿リクエストのキャッシュも無視しました

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

そして、問題は私には決して現れませんでした...

1
iCodeAtApple

派生データを削除すると、これが解決しました。

ウィンドウ>オーガナイザー>プロジェクト

プロジェクトを選択し、派生データの横の削除を押します。

0
LpLrich