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

How to know if user shared my app or not?

我的app就是拿积分赢钱,我要做的就是让用户分享我的app然后给他一些积分。

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

我正在使用以下代码:

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")
    })
}

共享方法运行良好,但我想知道在这种情况下是否有我们可以调用的委托。

谢谢。

所以有两种情况用户可以取消分享。

一个是当 UIActivityViewController 出现时 UIActivityViewController 上有一个取消按钮,用户可以从那里取消它,是的,你可以用方法

检测到它
shareViewController.completionWithItemsHandler = { activity, completed, items, error in

}

在上面的方法中,如果用户从 UIActivityViewController 取消按钮取消,completed 将是 false。如果用户分享成功,它将 return true 但这是第二种情况。

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

但是那个屏幕上有一个取消按钮,用户可以从那里取消共享,但你仍然会得到 completed 标志 true 所以你无法检测到用户是否点击了 cancel 来自 watsapp 用户列表的按钮。