使用UIActivityViewController检测启动了哪个应用

时间:2018-11-30 03:44:12

标签: ios swift uiactivityviewcontroller

使用getTemplate启动外部应用程序时,我们可以检测到UIActivityViewController中使用了哪个应用程序吗?

Apple's documentation中,提到了属性completionHandler,但似乎仅用于检测“内置活动”。我如何检测是否,例如。启动了WhatsApp Messenger?

1 个答案:

答案 0 :(得分:5)

设置UIActivityViewController时,请使用completionWithItemsHandler设置一个完成闭包,当用户进行选择时会调用该闭包。

此完成块具有四个参数:(可选的)选定活动,一个完成指示符,一个可选的返回项目数组和一个错误。

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