所以我在我的应用中使用UIDocumentPicker导入文件
let documentMenu = UIDocumentMenuViewController(documentTypes: ["public.xml"], in: .import)
documentMenu.modalPresentationStyle = .formSheet
documentMenu.delegate = self
present(documentMenu, animated: true)
我没有文档管理扩展或类似的东西。它是一个xml。我只需要解析它并向用户显示结果。它不可编辑,无需保存,等等。
在委托方法
中func documentPicker(_ controller: UIDocumentPickerViewController, didPickDocumentAt url: URL) {
parseFor(path: url)
}
我可以看到路径指向/ tmp /文件夹。
Printing description of url:
▿ file:///private/var/mobile/Containers/Data/Application/9C47C67D-B6F3-4E93-8239-52DCA93A6003/tmp/package.Inbox/file.kml
问题是:用户完成后我应该做些什么吗?我想如果文件在/ tmp中,它最终会被系统删除。
另外,如果是,我应该怎么做?只需将路径保存在某处,然后删除该路径上的文件?
谢谢!
答案 0 :(得分:4)
关于tmp/
的{{3}}:
使用此目录编写不需要的临时文件 在您的应用发布之间保持不变。您的应用应删除文件 从这个目录不再需要它们;然而 当您的应用未运行时,系统可能会清除此目录。该 iTunes或iCloud不会备份此目录的内容。
所以不,你没有 做任何关于它的事情,因为操作系统会在你的应用程序不再运行时,在某些未公开的时间进行清理。
但是,如果您知道自己已完成该文件,通常最好将其删除并释放用户设备上的空间。删除文件与删除给定路径中的任何文件的工作方式相同。