building an ios file browser
// Create a new document.
func documentBrowser(_ controller: UIDocumentBrowserViewController,
didRequestDocumentCreationWithHandler importHandler: @escaping (URL?, UIDocumentBrowserViewController.ImportMode) -> Void) {
os_log("==> Creating A New Document.", log: .default, type: .debug)
let doc = TextDocument()
let url = doc.fileURL
// Create a new document in a temporary location.
doc.save(to: url, for: .forCreating) { (saveSuccess) in
// Make sure the document saved successfully.
guard saveSuccess else {
os_log("*** Unable to create a new document. ***", log: .default, type: .error)
// Cancel document creation.
importHandler(nil, .none)
return
}
// Close the document.
doc.close(completionHandler: { (closeSuccess) in
// Make sure the document closed successfully.
guard closeSuccess else {
os_log("*** Unable to create a new document. ***", log: .default, type: .error)
// Cancel document creation.
importHandler(nil, .none)
return
}
// Pass the document's temporary URL to the import handler.
importHandler(url, .move)
})
}
}