IOSswift如何知道activityViewController何时被成功使用

IOS swift how to know when activityViewController has been successfully used

我有一个使用 UIActivityViewController 的 tableView,因此用户可以在其他第三方网络 Facebook、twitter、短信等上共享内容。我有一个名为 IncreaseShareByOne() 的功能,它的目的是计算某些内容被分享的次数。我的问题是现在每次单击 UIActivityViewController 时都会触发该函数。有什么办法可以查明用户是否真的共享了某些内容,以便我可以正确使用该功能?有时候你打开 UIActivityViewController 并决定不分享任何东西,所以我想抓住而不是使用那个功能。我是 swift 的新手,正在使用版本 3。

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 了解更多信息。