Похоже, что они хотят, чтобы вы использовали UIDocumentPickerViewController
, чтобы пользователи могли выбирать видеофайлы из облачных сервисов, а также из библиотеки фотографий в соответствии с пунктом 2.5.15
Apple хочет, чтобы их клиенты имели хороший опыт работы со своим устройством и приложениями, которые на нем работают, поэтому для вашего приложения имеет смысл поддерживать все соответствующие функции iOS.
Вы можете создать средство выбора документа для выбора видеофайлов, используя:
let picker = UIDocumentPickerViewController(documentTypes: ["public.movie"], in: .import)
picker.delegate = self
self.show(picker, sender: self)
Вам потребуется реализовать некоторый код делегата для обработки выбранного документа. Например, чтобы скопировать выбранный файл в каталог документов вашего приложения:
extension ViewController: UIDocumentPickerDelegate {
func documentPicker(_ controller: UIDocumentPickerViewController, didPickDocumentsAt urls: [URL]) {
if let pickedUrl = urls.first {
let filename = pickedUrl.lastPathComponent
self.filename.text = filename
let paths = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask)
var documentsDirectory = paths[0]
// Apend filename (name+extension) to URL
documentsDirectory.appendPathComponent(filename)
do {
// If file with same name exists remove it (replace file with new one)
if FileManager.default.fileExists(atPath: documentsDirectory.path) {
try FileManager.default.removeItem(atPath: documentsDirectory.path)
}
// Move file from app_id-Inbox to tmp/filename
try FileManager.default.moveItem(atPath: pickedUrl.path, toPath: documentsDirectory.path)
UserDefaults.standard.set(filename, forKey:"filename")
UserDefaults.standard.set(documentsDirectory, forKey:"fileurl")
self.fileURL = documentsDirectory
} catch {
print(error.localizedDescription)
}
}
}
}