我在本地存储了一个加密的word/excel/pdf文件,我需要在iPad应用程序中进行预览。我明白,可以使用QLPreviewController或UiDocumentInteractionController来预览这些文件。我可以很好地使用这个使用QuickLook框架或UiDocumentInteractionController显示加密文件
- (id <QLPreviewItem>) previewController: (QLPreviewController *) controller previewItemAtIndex: (NSInteger) index {
return [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:[documents objectAtIndex:index] ofType:nil]];
}
但该文件被加密,当我解密它时,我会得到NSData对象。我如何去加载这些NSData中的任何一个。
此外我明白,我可以非常好地将NSData存储为本地文件并将其加载到预览中。但有一个限制,不在本地存储未加密的文件。
如果有人已经完成了这一点,并可以帮助我在这里,将不胜感激。
感谢 AJ
感谢Rob的回应。这些信息确实有帮助。我对此有一个后续问题。我正在做所有这些,以便在我的应用程序中提供脱机功能。你认为我自己通过加密和解密文件来增加冗余吗?相反,您认为它的安全性足以让我只使用磁盘加密并将文件存储在应用程序的文档文件夹中。另外什么是最好的地方来存储这些文件。我的意思是文件或tmp文件夹。 再次感谢。 – 2012-02-02 16:00:50
对不起,你已经回答了什么是最好的地方来存储它们。 – 2012-02-02 16:12:52
另外我尝试使用NSDataWritingFileProtectionComplete属性将文件写入模拟器上应用程序的tmp文件夹。我能够到我的文件系统中的文件夹并打开文档。我假设在越狱设备上会出现类似的行为,我可以访问设备的文件系统,并且可以遍历到临时文件夹并访问文档。这是一个正确的假设。 谢谢 – 2012-02-02 18:19:08