ios中的UIActivityViewController与UIDocumentInteractionController

ios中的UIActivityViewController与UIDocumentInteractionController,ios,iphone,sharing,uiactivityviewcontroller,uidocumentinteraction,Ios,Iphone,Sharing,Uiactivityviewcontroller,Uidocumentinteraction,我刚刚读了一些关于iOS中的UIActivityViewController和UIDocumentInteractionController的文章,但我对如何使用它们感到非常困惑,因为它们看起来是一样的 那么,我什么时候使用UIActivityViewController或UIDocumentInteractionController? 使用UIActivityViewController,在…中打开有什么区别吗 我很困惑如何使用它们。请向我说明它们的具体用途。基本上UIActivityView

我刚刚读了一些关于iOS中的
UIActivityViewController
UIDocumentInteractionController
的文章,但我对如何使用它们感到非常困惑,因为它们看起来是一样的

那么,我什么时候使用
UIActivityViewController
UIDocumentInteractionController

使用
UIActivityViewController
,在…中打开
有什么区别吗


我很困惑如何使用它们。请向我说明它们的具体用途。

基本上
UIActivityViewController
共享数据对象(如字符串或图像),其中
UIDocumentInteractionController
共享整个文档/文件,例如PDF

简而言之,
UIDocumentInteractionController
处理文件,而
UIActivityViewController
处理应用程序中的各种其他服务。我不是一个批评太多的人,但你真的至少应该尝试谷歌,至少阅读iOS开发者文档中的概述

UIDocumentInteractionController

视图控制器,用于预览、打开或打印应用程序无法直接处理其文件格式的文件

使用此类可显示用于预览、打开、复制或打印指定文件的适当用户界面。例如,电子邮件程序可能使用此类来允许用户预览附件并在其他应用程序中打开它们

在显示其用户界面之后,文档交互控制器将处理支持文件预览和菜单显示所需的所有交互。 您还可以使用委托参与呈现的接口中发生的交互。例如,当一个文件即将移交给另一个应用程序打开时,会通知代理。有关可以在委托中实现的方法的完整描述,请参阅

UIActivityViewController

用于从应用程序提供标准服务的视图控制器

该系统提供多种标准服务,如将项目复制到粘贴板、将内容发布到社交媒体网站、通过电子邮件或短信发送项目等。应用程序还可以定义自定义服务

您的应用程序负责配置、显示和解除此视图控制器。视图控制器的配置涉及指定视图控制器应在其上操作的数据对象。(您还可以指定应用程序支持的自定义服务列表。)在显示视图控制器时,必须使用适用于当前设备的适当方式。在iPad上,您必须在popover中显示视图控制器。在iPhone和iPodtouch上,您必须以模式显示它


袜子!!到现在为止,我无法得到答案,甚至没有人试图给出答案!!!取决于:如果你有一个图像文件,那么是的。如果您只有一个UIImage实例,那么它就不是一个文件。顺便说一句,UIActivityViewController在共享NSData对象中包含的PDF方面没有问题。区别主要在于数据和文件。我们可以在UIActivityViewController的帮助下共享文件@桑戈尼的回答让很多老师实际上已经在谷歌上搜索了不少,并没有看到这两个方面的很多比较。您的回答很有帮助。一个重要的区别是:给定相同的源文件,UIDocumentInteractionController的共享表包含快速查找。UIActivityViewController中的共享工作表不存在。