UIDocumentInteractionController

时间:2010-08-26 09:17:08

标签: iphone ms-office

我有一个让我发疯的问题。

在我的应用程序中,当显示OpenIn菜单时,我将选择一个打开文件的应用程序(例如:DocsToGo),然后打开文档进行编辑。

但编辑后,如何将其发送回我的应用程序或获取保存该文档的链接?如何获取该文件的新内容?

2 个答案:

答案 0 :(得分:6)

您的应用无法访问已更改的文件版本。新版本位于您发送给它的应用程序的沙箱中。将文件重新导入应用程序的唯一方法是,您的应用程序注册为可以打开该文档类型的应用程序。那么你必须希望其他应用程序为用户提供在另一个应用程序中打开新文件的选项。

另一种选择是使用第三方云服务来存储文档。许多应用程序现在都与Dropbox集成。如果您的应用和DocsToGo都使用了Dropbox,那么您就可以编辑同一个文档并访问它。

简而言之:您的应用没有Apple支持的方式将文档发送到其他应用,然后在更改后将其撤回。

答案 1 :(得分:2)

你的应用程序无法“拉动”已更改的文件,正如Mark Suman在他的回答中提到的那样,但是如果用户通过类似“open in ...”命令从其他应用程序将其推回给您,则可以实现一个工作流,将文件从您的应用程序传递到另一个应用程序并再次传回。当文件发送回您的应用程序时,它会触发应用程序中的应用程序:handleOpenURL:方法(或应用程序:openURL:sourceApplication:annotation:在iOS 4.2+中)。 URL参数是已编辑文件的URL,然后您的应用可以继续使用该文件。

More info here.