ios - 如何识别和排除 UIActivityViewController 中的第 3 方 ActivityType(例如 'Send to Kindle'、 'Chrome')?

标签 ios swift uiactivityviewcontroller

讨论 here & here ,可以使用 UIActivityViewControllerexcludedActivityTypes 排除其他 ActivityType 选项,而不仅仅是那些预定义的选项。

但是,如何找到任何给定 ActivityType 的标识符(最好是在构建/运行时编程,如果可能的话),然后将它们排除在外?

例如,我希望禁用发送到 KindleChrome

最佳答案

要找出第三方事件的 ActivityType,请在显示您的 UIActivityViewController 后选择该事件。

当调用完成处理程序时,您提供给事件 Controller 的完成闭包/ block 有一个类型为 ActivityType 的参数,告诉您选择了哪个。

例如:

activityVC.completionWithItemsHandler = { activity, success, items, error in
    print("activity: \(activity), success: \(success), items: \(items), error: \(error)")
}

现在您知道该事件的 ActivityType 了。更新您的代码以将该值添加到您传递给 excludedActivityTypes 的列表中。

关于ios - 如何识别和排除 UIActivityViewController 中的第 3 方 ActivityType(例如 'Send to Kindle'、 'Chrome')?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56191074/

相关文章:

ios - SCNNode.position 静态?

swift - 如何将 skspritenode 添加到始终在屏幕上的随机位置

ios - UIActivityViewController 不在 gmail 中显示正文

ios - 从自定义单元格中的按钮调用 UIActivityViewController

ios - WKWebview运行JavaScript

ios - Metal 可以在非 A7 设备上使用吗? (例如 iPhone 5 或 iPad Mini(非视网膜))

iphone - 将 CATextLayer 与 CGContext 一起使用

ios - 将数据从一个 TableView 传递到另一个 TableView

objective-c - NSKeyedUnarchiver 无法解码类 NSKnownKeysDictionary1 的对象

swift - 如何使用 UIActivityViewController 将我的应用程序中创建的 PDF 文件保存到 iBooks?