私のアプリには、オフラインで使用するために最初の起動時に入力されるコア データ データベースがあります。このデータベースは、起動するたびにオンライン データベースと同期されます。最初の起動のみに大量のデータが含まれます。アプリはまた、Web からいくつかの画像を取得し、バイナリ データに変換して、オフラインで使用するためにコア データに保存します。これは、ユーザーがいくつかの画像を含むセクションに移動し、それらの画像のみがフェッチされた場合にのみ発生します (アプリは一度にすべての画像を取得するのではなく、必要な場合にのみ取得します)。
マジカルレコードを使用しています。
実行時にファイルにデータを保存しません。ただし、私のアプリは次のメッセージで拒否されました:
お客様のアプリは、App Store レビュー ガイドラインで義務付けられている iOS データ ストレージ ガイドラインに準拠していないことが判明しました。
「設定> iCloud>ストレージとバックアップ>ストレージの管理」を確認するようにアドバイスされていますが、アプリは表示されません。
コアデータをiCloudにバックアップしないようにマークする必要があることは理解していますが、これを行う方法がわかりません。おそらく、このようなものを実装する必要がありますが、それをコアデータファイルに適用する方法がわかりません。
- (BOOL)addSkipBackupAttributeToItemAtURL:(NSURL *)URL {
assert([[NSFileManager defaultManager] fileExistsAtPath: [URL path]]);
NSError *error = nil;
BOOL success = [URL setResourceValue: [NSNumber numberWithBool: YES]
forKey: NSURLIsExcludedFromBackupKey error: &error];
if(!success){
NSLog(@"Error excluding %@ from backup %@", [URL lastPathComponent], error);
}
return success; }