我的应用可以与其他应用共享文件,但问题是我需要在共享后删除文件...我尝试使用onCompletion函数,如下所示:
let activityVC = UIActivityViewController(activityItems: objects, applicationActivities: nil)
view.present(activityVC, animated: true) {
try! FileManager.default.removeItem(at: targetURL)
}
问题是onCompletion函数在动作视图消失之后而不是在整个共享过程完成之后执行,这就是为什么如果我删除文件并且共享过程仍在进行中它将被中止。一个例子是使用电报进行共享;因为电报要求你选择一个联系人来发送文件,到那时候视图已经消失了(该功能在共享之前被执行并删除了文件)......
答案 0 :(得分:2)
在呈现控制器的完成处理程序中做任何事情都太早了。
设置completionWithItemsHandler
的{{1}}属性。这将在共享过程完成时调用。
UIActivityViewController