在iOS中离线打开和存储encryption文档

我已经encryption的文件下载和可用于在一个文件夹中的离线查看,我想知道:

  • 如何在适当的阅读器中打开它们,因为这些是ms office文档和prezi格式

  • 我想他们将不得不encryption,以便读者可以阅读,但在这种情况下,如何确保安全?

  • 使用哪个文件夹来避免iCloud同步,我已经阅读了这个禁用iCloud同步

  • 当我阅读它时,iOS是否通过基于应用程序密钥的encryption来保护应用程序的文档?或者我错了吗?

就在即时讲话中,随着想法的发生,Sven对UIDocumentInteractionController是正确的,并且对象由URL标识。

但是,有可能您不需要解密磁盘上的文件就可以使用。 你可以编写你自己的小URL协议(子类NSURLProtocol并且适当的实现方法;你最终应该检查URL是否在你创build的发明scheme中,比如myApplicationEncrypted://然后把数据包发送到NSURLProtocolClient )它通过NSURLProtocol +registerClass与设备。

您显然需要在磁盘和协议客户端之间解密。 所以你会传递未encryption的数据 – 你需要对UIDocumentInteractionController进行信任判断。

文档交互控制器被logging为在您的应用程序中工作,所以不应该有沙盒问题。

您可以使用UIDocumentInteractionController对象将文档发送到其他应用程序。 您可以使用指向文档的文件URL对其进行初始化,然后使用其中的一种方法来显示它。

这照顾显示一个预览(如果可能的话),并让用户select应该打开文档的应用程序。

该文件必须解密才能正常工作。 然后你不能保证你的文件的安全性 – 一旦它被移交给另一个应用程序,它就不在你的控制范围之内。

如果您的应用程序未明确select使用iCloud同步,则您的数据将不会与iCloud同步。 将发送给iCloud的是整个设备的备份(如果启用)。 如果您已经在链接的问题中阅读过,则有许多方法可以禁用单个文件。

iOS文件保护基于设备密钥,而不是每个应用程序密钥。 这也是没有必要的,因为应用程序是由沙箱彼此保护,除非你的手机越狱。 在越狱手机没有安全保证。