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以获得更多信息。

+1

非常感谢你的工作,现在将阅读文档。 –