【问题标题】:iOS: Open document of an app from another app and save back to the called appiOS:从另一个应用程序打开一个应用程序的文档并保存回被调用的应用程序
【发布时间】:2014-02-02 05:01:54
【问题描述】:
在我的应用程序中,我想使用任何 excel 编辑器打开我的应用程序中列出的 excel 文档。编辑它并仅保存回我的应用程序。这可以在iOS上实现吗?
当我研究这个时,我可以使用 excel 编辑器打开,编辑文件,但文件保存在名为 application's folder,而不是我的 application folder 中。
有什么办法可以做到这一点吗?请建议。
谢谢。
【问题讨论】:
标签:
ios
ios7
document
file-sharing
【解决方案1】:
iOS 不提供直接支持此功能的功能。但是有两种方法可以实现您想要的行为。
在这两种情况下,应用程序都必须配合并符合规范。调用应用程序将信息传递给另一个应用程序,然后另一个应用程序最终会使用该信息发回数据。
自定义网址方案
应用可以自愿与自定义 URL 方案进行通信。一些应用为此支持x-callback-url。
UIDocumentInteractionController 注释
另一种可能性是将注释字典传递给打开另一个应用程序的 UIDocumentInteractionController。 QuickOffice 有一个save back API,可以这样使用。不过,它似乎已被弃用,并且文档已被删除。
【解决方案2】:
在 iOS 上,每个应用程序都存在于自己的沙箱中,与其他应用程序分开,除了几种相当间接的交互模式,例如注册 URL 和UIDocumentInteractionController。这种方法的安全优势是相当明显的,但当然它们也有某些缺点。
其中一个缺点是允许应用 B 将数据保存到应用 A 的沙盒中会破坏沙盒的目的。
另一方面,在越狱设备上...
【讨论】:
-
-
请参阅this question 了解更多信息。它描述了您要实现的目标,但要求应用 B 还具有在另一个应用中保存和打开文档的能力。
【解决方案3】:
据我所知,没有选项可以将文档从外部应用程序保存到我们的应用程序中。正如您所提到的,我们只能选择以编程方式使用我们的应用程序打开 url 文档。
如果外部应用程序可以选择通过其他应用程序打开文档,则可以选择通过您的应用程序打开/保存编辑过的文档。