Tengo un archivo de palabra/excel/pdf encriptado almacenado localmente que necesito obtener una vista previa en mi aplicación de iPad. Entiendo que QLPreviewController o UiDocumentInteractionController podrían usarse para previsualizar estos archivos. Yo muy bien puedo utilizar esteMostrar archivo encriptado utilizando QuickLook framework o UiDocumentInteractionController
- (id <QLPreviewItem>) previewController: (QLPreviewController *) controller previewItemAtIndex: (NSInteger) index {
return [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:[documents objectAtIndex:index] ofType:nil]];
}
embargo, el archivo está cifrado y cuando descifrarlo me gustaría conseguir el asimiento de objeto NSData. ¿Cómo hago para cargar NSData en cualquiera de estos?
También entiendo que puedo almacenar el NSData como un archivo local y cargarlo en Vista previa. Pero existe una limitación de no almacenar el archivo no encriptado localmente.
Si alguien ya ha logrado esto y puede ayudarme aquí será muy apreciado.
Gracias AJ
Gracias Rob por la respuesta. Esta información realmente ayudó. Tengo una pregunta de seguimiento sobre esto. Estoy haciendo todo esto para proporcionar capacidad fuera de línea en mi aplicación para los archivos. ¿Crees que estoy agregando redundancia mediante el cifrado y descifrado de archivos por mi cuenta? En su lugar, ¿cree que es lo suficientemente seguro como para utilizar el cifrado en disco y almacenar los archivos en la carpeta de documentos de la aplicación? Además, ¿cuál sería el mejor lugar para almacenar estos archivos? Me refiero a documentos o carpeta tmp. Gracias de nuevo. –
Lamentamos que ya hayas respondido cuál sería el mejor lugar para guardarlos. –
También traté de usar el atributo NSDataWritingFileProtectionComplete para escribir archivos en la carpeta tmp de la aplicación en un simulador. Pude ir a la carpeta en mi sistema de archivos y abrir los documentos. Supongo que habrá un comportamiento similar en un dispositivo con jailbreak en el que tengo acceso al sistema de archivos del dispositivo y puedo atravesar la carpeta temporal y acceder a los documentos. Es esa una suposición correcta. Gracias –