iOS swift如何知道activityViewController何时被成功使用
问题描述:
我有一个tableView,利用UIActivityViewController
,所以用户可以在其他第三方网络Facebook,Twitter,短信等共享内容。我有一个函数IncreaseShareByOne()
,它的目的是统计某些东西被共享的次数。我的问题是,现在每次点击UIActivityViewController
时都会触发该功能。有没有办法,我可以找出用户是否真的共享了一些东西,以便我可以正确使用该功能?有时你会打开UIActivityViewController
并决定不共享任何内容,所以我想捕捉并且不使用该功能。我是swift新手,正在使用第3版。iOS swift如何知道activityViewController何时被成功使用
func sharedShareAction(controller: UIViewController, sender: UIButton) {
controller.present(activityViewController,animated: true,completion: nil)
IncreaseShareByOne()
}
答
您可以添加完成处理您UIActivityViewController
。在完成处理程序中,检查用户是否使用completed
值提交。你可能想要做这样的事情:
func sharedShareAction(controller: UIViewController, sender: UIButton) {
controller.present(activityViewController,animated: true, completion: nil)
activityViewController.completionWithItemsHandler = { activity, completed, items, error in
if !completed {
// handle task not completed
return
}
IncreaseShareByOne()
}
}
检查API docs以获得更多信息。
非常感谢你的工作,现在将阅读文档。 –