【问题标题】:Detect which App was launched using UIActivityViewController使用 UIActivityViewController 检测哪个 App 启动
【发布时间】:2018-11-30 03:44:11
【问题描述】:

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

Apple's documentation 中,提到了一个属性UIActivity.ActivityType,但似乎这仅用于检测“内置活动”。我如何检测是否,例如。 WhatsApp Messenger 推出了吗?

【问题讨论】:

    标签: ios swift uiactivityviewcontroller


    【解决方案1】:

    在设置UIActivityViewController 时,使用completionWithItemsHandler 设置在用户进行选择时调用的完成闭包。

    这个完成块有四个参数:(可选的)所选活动、完成指示器、可选的返回项目数组和错误。

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

    【讨论】:

    • 那么我怎么知道预期的应用名称?是否有我可以比较的第 3 方活动名称列表?
    • 正如我所说,您需要通过运行应用程序并选择 WhatsApp 来找到价值。看看返回什么值。然后,您可以根据需要将该字符串硬编码到您的代码中。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-29
    • 2020-11-01
    • 1970-01-01
    • 2015-07-22
    • 2014-07-15
    • 2017-05-02
    相关资源
    最近更新 更多