iOS デバイス用の既存のデモ写真アプリケーションに、ハードディスク ベースの復元機能をコーディングしようとしています。これは、アプリケーションの再起動や予期しないクラッシュなどの後でも、ユーザーが最後に適用された効果とすべてを復元できるようにすることを目的としています。
1 つの画像ファイル (最新の効果が適用されたもの) を NSCachesDirectory に保存しています。
NSData* data = UIImagePNGRepresentation(image);
[data writeToFile:[self getFileAtIndex:getPath] atomically:YES];
回復オプションに進むと、このパスに保存されたファイルは次を使用して回復されます。
image = [[UIImage imageWithContentsOfFile:[self getFileAtIndex:getPath]]retain];
コードはテスト デバイス (iPhone 4s) で正常に動作しています。しかし、どういうわけか、これが復元関数をコーディングするためのベスト プラクティスであるかどうかは疑問です。
実際のアプリに移ると、NSCachesDirectory に保存されていた場合、iCloud にバックアップされると思いますか? 他のアプリと競合する可能性はありますか?
複数のアプリが同時にアクセスする場合、NSCachesDirectory ディレクトリはどの程度正確に管理されますか?
これを行うためのベストプラクティスを知りたいです。
ヘルプ/コメントしてください。