Periksa kondisi file zip di UIDocumentPickerViewController
Ini adalah kode saya untuk memanggil UIDocumentPickerViewController untuk memilih file untuk pembaruan firmware saya yang harus .zip
hanya. Saat saya menekan tombol "Pilih", Tampilan Pemilih Dokumen muncul:
@IBAction func selectButtonAction(_ sender: UIButton) {
if sender.title(for: .normal) == "Select"{
if let controller = (UIApplication.shared.delegate as? AppDelegate)?.currentViewController {
let importMenu = UIDocumentPickerViewController(documentTypes: [String(kUTTypeArchive)], in: .open )
importMenu.delegate = self
importMenu.modalPresentationStyle = .formSheet
controller.present(importMenu, animated: true, completion: nil)
}
} else {
changeDFUItemsDesign(isFileURLNil: true)
}
}
Saat ini dimungkinkan untuk membuka file dalam .docx
format, tetapi saya hanya perlu membiarkan pengguna memilih satu format - file zip.
Saya tidak dapat mempresentasikan apa yang telah saya lakukan selama ini karena saya tidak dapat menemukan solusi. Apakah ada cara untuk memeriksa file zip atau hanya melarang memilih format lain? Terima kasih!
Jawaban
Inisialisasi DocumentPicker dengan daftar tipe yang didukung.
let zip = ["com.pkware.zip-archive"]
let importMenu = UIDocumentPickerViewController(documentTypes: zip, in: .import)
Berikut daftar UTI yang didukung
Dalam ekstensi tampilan saya, saya menggunakan UIDocumentPickerDelegate
dan dalam fungsi saya memeriksa apakah komponen terakhir file saya adalah zip:
func documentPicker(_ controller: UIDocumentPickerViewController, didPickDocumentsAt urls: [URL]) {
if let fileURL = urls.first, fileURL.pathExtension == "zip" {
self._fileURL = fileURL
self.fileNameLabel.text = _fileURL?.lastPathComponent
} else {
_fileURL = nil
fileNameLabel.text = "Select file"
}
}