IOS swift如何知道activityViewController何时成功使用

Rom*_*res 7 ios uiactivityviewcontroller swift swift3

我有一个使用的tableView,UIActivityViewController因此用户可以在其他第三方网络Facebook,Twitter,短信等上共享内容.我有一个被调用的函数IncreaseShareByOne(),它的目的是计算共享内容的次数.我的问题是,现在每次UIActivityViewController点击时都会触发功能.在某种程度上,我可以找出用户是否真的共享某些内容,以便我可以正确使用该功能?变得有时你打开UIActivityViewController并决定不分享任何东西,所以我想抓住而不是使用那个功能.我是swift的新手,正在使用版本3.

func sharedShareAction(controller: UIViewController, sender: UIButton) {

    controller.present(activityViewController,animated: true,completion: nil)
    IncreaseShareByOne()
}
Run Code Online (Sandbox Code Playgroud)

tod*_*ddg 8

您可以为您的添加完成处理程序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()
        }
}
Run Code Online (Sandbox Code Playgroud)

有关详细信息,请查看API文档.