2016年09月20日

iOS10でCore Dataへのアクセス時に、[error] error: (NSFetchedResultsController): couldn't read cache file to update store info timestampsと表示された場合の対処方法

iOS10で、Core Dataに大量のデータをインポートしようとしたり、大量のメモリを消費するNSArrayなどを同時に取り扱うとき、下記のメッセージがコンソールログに表示された場合の対処方法。
[error] error: (NSFetchedResultsController): couldn't read cache file to update store info timestamps

dnssd_clientstub ConnectToServer: socket failed 24 Too many open files

[] nw_resolver_create_dns_service_on_queue DNSServiceCreateConnection failed: NoMemory(-65539)


Core Dataのキャッシュがメモリを大量に消費しているため、キャッシュを使用しないように変更する。

変更前
NSFetchedResultsController *aFetchedResultsController = [[NSFetchedResultsController alloc] initWithFetchRequest:fetchRequest managedObjectContext:managedObjectContext sectionNameKeyPath:nil cacheName:@"Root"];

変更後
NSFetchedResultsController *aFetchedResultsController = [[NSFetchedResultsController alloc] initWithFetchRequest:fetchRequest managedObjectContext:managedObjectContext sectionNameKeyPath:nil cacheName:nil];

ラベル:Mac apple iPAD IOS iPhone
posted by mobileDeveloper at 23:28 | Comment(1) | TrackBack(0) | Core Data | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
初めまして。
同様の現象を調べておりましたところ
こちらに行き着き拝見させていただきました。
非常にありがたい情報で感謝いたします。
本現象はiOS10で顕著なのでしょうか?
Posted by 初心者 at 2016年10月27日 11:17
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
※ブログオーナーが承認したコメントのみ表示されます。

この記事へのトラックバック