我希望创建一个 UIActivityViewController
,它将排除一些 native 共享功能,包括 Facebook 和 Twitter 共享。但 Facebook 共享仍可作为 ShareExtention
使用。
我创建了以下内容:
activityViewController = [[UIActivityViewController alloc] initWithActivityItems:activityItems applicationActivities:applicationActivities];
并通过设置排除的 Activity 类型来排除 Facebook。
activityViewController.excludedActivityTypes = @[
UIActivityTypeAddToReadingList,
UIActivityTypeAssignToContact,
UIActivityTypePrint,
UIActivityTypeSaveToCameraRoll,
UIActivityTypeCopyToPasteboard,
UIActivityTypeAirDrop,
UIActivityTypePostToFacebook,
UIActivityTypePostToTwitter
];
在我的 iPhone 上运行时,尽管被排除在外,Facebook 图标仍会出现。
调查这是如何发生的,我看到事件 Controller 的完成处理程序正在返回 activityType = com.facebook.Facebook.ShareExtension
,而不是 UIActivityTypePostToFacebook
。 Also when selecting the more button in the activity controller there is a toggle for Facebook as for other apps which make use of the Share convention.
为什么 Facebook 使用 shareExtention
而 Twitter 没有,为什么我不能使用排除的事件来排除它?
注意:我已经在多台设备上对此进行了测试,但问题只存在于一台运行 8.1.3 的设备上。
谢谢
最佳答案
试试这个
// sharing items in an array lets say sharingItems
NSArray *sharingItems = @[@"hello", @"how", @"are", @"You."];
//making UIActivityViewController object lets say avc
UIActivityViewController *avc = [[UIActivityViewController alloc] initWithActivityItems:sharingItems applicationActivities:nil];
//exclude UIActivityTypePostToFacebook
avc.excludedActivityTypes = @[UIActivityTypePostToFacebook];
//presenting UIActivityViewController in our case avc
[self presentViewController:avc animated:YES completion:nil];
见下图,不包括Facebook
评论 avc.excludedActivityTypes = @[UIActivityTypePostToFacebook];
Facebook 再次在共享选项中可见
关于ios - 无法从 [UIActivityViewController excludedActivityTypes] 中排除 UIActivityTypePostToFacebook,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30078598/