2017-01-09 46 views
1

所以我在我的應用程序導入文件與UIDocumentPicker我應該刪除使用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中,它最終會被系統刪除。

另外,如果是,我該怎麼做?只需將路徑保存在某處,然後刪除該路徑中的文件?

謝謝!

回答

1

docs關於tmp/

使用此目錄編寫不需要 堅持你的應用程序的啓動之間的臨時文件。不再需要時,您的應用程序應從此目錄中刪除文件 ;但是,當您的應用程序未運行時, 系統可能會清除此目錄。此目錄中的 內容不由iTunes或iCloud備份。

所以,不,你不做任何事情,因爲操作系統會照顧清理的時候你的應用程序不再運行,在一些未公開的時間。

但是,如果你知道你已經完成了這個文件,那麼刪除它並釋放用戶設備上的空間是一種很好的做法。刪除文件的作用與刪除給定路徑上的任何文件相同。

+0

謝謝!不知道我是怎麼錯過的! –

相關問題