私は、アプリケーションストアに、オフラインで使用するためにデバイスに留まる必要のある比較的大きなファイルをダウンロードできるiOSアプリケーションを持っています。これらのファイルは現在、アプリケーションのDocuments
フォルダに保存されていますが、今はDocuments
フォルダがバックアップされていることを読んでいます。実際には、ユーザが作成したコンテンツにのみ使用する必要があります。 This Apple technical Q&Aには、バックアップを防止するためにNSURLIsExcludedFromBackupKey
を設定する必要があると記載されています。 Thisは、アプリの/Library/Caches
は、この種のファイルを置くのに適していると述べていますが、このアプリでは受け入れられないストレージにデバイスがないときにフォルダが消去される可能性があります。私は/Library/Application Support/
がそれらのための最良の場所だと信じています - これは正しいですか?大きなファイルがDocumentsにダウンロードされ、iCloudにバックアップされる
残念ながら、この間違いはアプリの審査プロセスを通過しました。人々がこのアプリを使用していて、既にDocuments
フォルダとそのバックアップに保存されているファイルがあるので、これを修正するためのベストプラクティスは何ですか?既存のファイルをすべて移動し、アプリのアップデートでNSURLIsExcludedFromBackupKey
を設定する必要があるようです。これが一度だけ行われ、中断されないことをどうすれば保証するのですか?ファイルをDocuments
フォルダから移動することは重要ですか、そこに残すことができますか?ファイルのバックアップ状態を変更すると、既存のバックアップからそれらのファイルが削除されますか?
私はSwift 2.1.1を使用し、iOS 8.0+をターゲットにしています。
ありがとう、@アレン。ファイルは既に1つのフォルダに入っていたので、私はそれらを除外して、アプリのレビューを終えました。 [NSURLのドキュメント](https://developer.apple.com/library/ios/documentation/Cocoa/Reference/Foundation/Classes/NSURL_Class/#//apple_ref/doc/constant_group/Common_File_System_Resource_Keys)には、「一般的な操作ユーザードキュメントにこのプロパティをfalseにリセットさせるため、私の懸念しているユーザードキュメントにこのプロパティを使用しないでください。今のところ、すべてのアプリの起動時にディレクトリを除外していますが、理想的ではありません。 –
あなたが使用しようとしているサブディレクトリではなく、Documentsフォルダに適用される心配はありません。また、iOSでは、他の誰もあなたのアプリケーションの環境にアクセスできません。 – Allen
ファイルをDocumentsフォルダに残しておき、ファイルの状態を変更して既存のバックアップから削除するかどうかなど、詳細を追加することができることを確認するソースを追加することができます。 –