使用 UIActivityViewController 检测启动了哪个 App

Detect which App was launched using UIActivityViewController

当使用 UIActivityViewController 启动外部应用时,我们能否检测到 completionHandler 中使用了哪个应用?

Apple's documentation中提到了一个属性UIActivity.ActivityType,不过好像只用来检测"built-in activities"。我怎样才能检测到,例如。 WhatsApp Messenger 已启动?

设置 UIActivityViewController 时,使用 completionWithItemsHandler 设置一个完成闭包,当用户做出选择时调用该闭包。

这个完成块有四个参数:(可选)选择 activity、一个完成指示器、一个可选的返回项数组和一个错误。

所选 activity 的类型为 UIActivity.ActivityType。它的rawValue是代表activity的String。如果 activity 类型不是提供的常量之一,请将其 rawValue 与您通过 运行 确定的字符串进行一些测试以查看其对于给定 activity 的值作为 WhatsApp。