2016-10-10 45 views
0
功能迅速份额

我的应用程序可以与其他应用程序的文件,但问题是,我需要他们共享之后删除文件...我尝试使用下面的onCompletion功能:上完成

​​

问题在于,在操作视图消失后执行onCompletion函数,而不是在完成整个共享过程后执行,这就是为什么如果我删除文件并且共享过程仍在进行中,它将被中止..例如,当使用电报共享的;由于电报要求您选择一个联系人发送文件,届时视图已经消失(该功能在共享之前执行并删除该文件)...

回答

2

现在做任何事情都为时过早呈现控制器的完成处理程序。

设置UIActivityViewControllercompletionWithItemsHandler属性。这将在共享过程完成时被调用。

activityVC.completionWithItemsHandler = { (activityType: UIActivityType?, completed: Bool, returnedItems: [Any]?, error: Error?) -> Void in 
    if completed == true { 
     try! FileManager.default.removeItem(at: targetURL) 
    } 
}