NSDataを使用してiOS 4.2のファイルを保護しています。 ファイルだけでWebサービスを使用して一時フォルダにダウンロードされており、現在、私はそのNSDataのを使用して、最終的な目的地と次のコードにそれをコピーして、保護したい:私は思ったんだけど何ファイルを保護するときに、ファイル内容全体をメモリに保存または保存するときにNSDataストリーミングが行われますか?
NSData oData = NSData.FromFile (sSourcePathAndFile);
NSError oError = null;
oData.Save (sDestPathAndFile, NSDataWritingOptions.FileProtectionComplete, out oError);
:ファイルならばNSDataはそれをチャンクに保存しますか?それとも、ファイル全体をメモリにロードし、最終的にはメモリ不足になり、失敗しますか?
サイドノート:iOSデバイスをバックアップして別のデバイスに復元すると、保護されたファイルはそこに読み込めますか?はいの場合、全体の保護は私には分かりません。
さらに、1GBファイルをダウンロードして暗号化し、何が起こるかを確認します。 – Krumelur
+ dataWithContentsOfMappedFile:ではなくNSDataReadingMappedオプションを使用することをお勧めします。それはオプションフラグをサポートするように思われるので、モノトゥッチでも利用可能かもしれません... –
MTで利用可能です。私はちょうど別の方法を見つけました:NSFileManagerは既存のファイルのセキュリティクラスを変更することができます。だからNSDataを追加レイヤーとして追加するのではなく、ファイルをWebからデバイスにストリームし、その後NSFileManagerを使用して暗号化すると、不利な点があるのだろうかと思います。 – Krumelur