【问题标题】:How to know if user shared my app or not?如何知道用户是否共享了我的应用程序?
【发布时间】:2019-02-23 12:12:43
【问题描述】:

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

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

我正在使用以下代码:

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

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

谢谢。

【问题讨论】:

  • 你检查过self.presentedViewController == shareViewController 是不是false吗?
  • 我不清楚,你能解释一下吗@azinwi
  • 我认为@Dharmesh 的答案是您所需要的?

标签: ios swift uiactivityviewcontroller


【解决方案1】:

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

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

shareViewController.completionWithItemsHandler = { activity, completed, items, error in

}

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

所以对于第二种情况,假设用户想要通过 watsapp 分享并点击来自UIActivityViewController 的 watsapp 图标,然后出现 watsapp 用户列表。

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

【讨论】:

  • 乐于助人..:)
  • 太好了,感谢您的帮助!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-09-20
  • 1970-01-01
  • 2017-02-11
  • 1970-01-01
  • 2014-12-24
  • 1970-01-01
相关资源
最近更新 更多