我希望创建一个 UIActivityViewController
,其中会排除一些原生分享功能,包括 Facebook 和 Twitter 的分享。但是 Facebook 分享仍然作为一个 ShareExtension
可用。
我创建了以下内容:
activityViewController = [[UIActivityViewController alloc] initWithActivityItems:activityItems applicationActivities:applicationActivities];
通过设置排除的活动类型,将Facebook排除在外。
activityViewController.excludedActivityTypes = @[
UIActivityTypeAddToReadingList,
UIActivityTypeAssignToContact,
UIActivityTypePrint,
UIActivityTypeSaveToCameraRoll,
UIActivityTypeCopyToPasteboard,
UIActivityTypeAirDrop,
UIActivityTypePostToFacebook,
UIActivityTypePostToTwitter
];
在我的iPhone上运行时,尽管已经被排除,Facebook图标仍然出现。
调查发现,活动控制器的完成处理程序返回activityType = com.facebook.Facebook.ShareExtension而不是
UIActivityTypePostToFacebook
。此外,在活动控制器中选择更多按钮时,Facebook有一个切换选项,就像其他使用共享约定的应用程序一样。
为什么Facebook在这里使用shareExtention
,而Twitter则没有,在使用排除活动时为什么无法将其排除?
注意:我已在几台设备上进行了测试,但该问题仅存在于运行8.1.3的某个设备上。
谢谢