如何在 ios 的 UIactivity 视图控制器中仅显示 facebook、twitter 和电子邮件(目标 c)?

Posted

技术标签:

【中文标题】如何在 ios 的 UIactivity 视图控制器中仅显示 facebook、twitter 和电子邮件(目标 c)?【英文标题】:how to show only facebook,twitter and email in UIactivity viewcontroller in ios (objective c)? 【发布时间】:2017-02-06 07:31:32 【问题描述】:

我有一个应用,我只需要在 activityview 控制器中显示 facebook、twitter 和电子邮件?

一切都需要排除。

我该怎么做?

我们将不胜感激。

【问题讨论】:

您可以通过设置适当的excludedActivityTypes来排除大量系统提供的活动。 参考这个:***.com/questions/31792506/… 不能。不过,您可以自定义自己的视图。 【参考方案1】:

排除一切:

NSArray *exclude = @[UIActivityTypePostToFacebook,
                     UIActivityTypePostToTwitter,
                     UIActivityTypePostToWeibo,
                     UIActivityTypeMessage,
                     UIActivityTypeMail,
                     UIActivityTypePrint,
                     UIActivityTypeCopyToPasteboard,
                     UIActivityTypeAssignToContact,
                     UIActivityTypeSaveToCameraRoll,
                     UIActivityTypeAddToReadingList,
                     UIActivityTypePostToFlickr,
                     UIActivityTypePostToVimeo,
                     UIActivityTypePostToTencentWeibo,
                     UIActivityTypeAirDrop,
                     UIActivityTypeOpenInIBooks];

activityViewController.excludedActivityTypes = exclude;

从列表中删除 Facebook、Twitter 和邮件以在操作表中显示它们。

【讨论】:

只需要显示facebook、twitter和email...其他第三方不想显示 只需从该数组中排除要在列表中显示的项目。 @Maulik 我想我看到了您的问题 - 只有 ios 集成服务是“可排他的”使用 excludedActivityTypes。因此,不会排除其他应用程序(WhatsApp、LinkedIn、Instagram)。该数组似乎是共享扩展包 ID 的列表(例如,消息具有标识符 com.apple.UIKit.activity.Message)。如果您知道要排除的其他应用程序的标识符,您可能可以将它们添加到列表中。这个我没试过,不知道能不能用。 刚刚尝试排除“com.linkedin.LinkedIn.ShareExtension”(这是您与 LinkedIn 共享时返回的 ActivityType),并且可以确认它不起作用。我认为您必须自行开发并与 FB、Twitter 和邮件 SDK 集成。

以上是关于如何在 ios 的 UIactivity 视图控制器中仅显示 facebook、twitter 和电子邮件(目标 c)?的主要内容,如果未能解决你的问题,请参考以下文章

UIActivity 视图控制器:自定义 Activity 放置

UIActivity activityViewController 在 iPad 上以模态方式呈现,而不是在弹出窗口中

如何在集合视图的底部/页脚中添加 uiactivity 指示器?

如何从 UIActivity 控制器中删除“添加到 iCloud Drive”?

自定义 UIActivity ViewController 背景图像透明度不起作用

UIActivityViewController 不解散