如何知道用户是否共享了我的应用?

时间:2019-02-23 12:12:43

标签: ios swift uiactivityviewcontroller

我的应用程序只涉及获得积分和赢钱,而我需要做的是让用户共享我的应用程序,然后给他一些积分。

问题是我不知道如何检测用户是否真正共享了应用程序

我正在使用以下代码:

func shareTapped(){
    let text = "example"
    let url = URL(string: "example.com")
    let image = UIImage(named: "example_image")
    let shareViewController = UIActivityViewController(activityItems: [text, image!, url!] ,applicationActivities: nil)
    self.present(shareViewController, animated: true, completion: {() in
        print("done")
    })
}

共享方法运行良好,但是我想知道在这种情况下是否可以召集任何代表。

谢谢。

1 个答案:

答案 0 :(得分:0)

因此,在两种情况下,用户可以取消共享。

一个是当UIActivityViewController存在时,UIActivityViewController上有一个取消按钮,用户可以从中取消它,是的,您可以使用方法

进行检测
shareViewController.completionWithItemsHandler = { activity, completed, items, error in

}

在上述方法中,如果用户从completed取消按钮中取消,则false将是UIActivityViewController。如果用户共享成功,它将返回true,但这是第二种情况。

因此,对于第二种情况,假设用户想要通过watsapp进行共享,然后单击UIActivityViewController中的watsapp图标,然后出现watsapp用户列表。

但是该屏幕上有一个取消按钮,用户可以从中取消共享,但是您仍然会得到completed标志true,因此您无法检测到用户是否单击了{{1} }按钮从watsapp用户列表中。