UIDocumentPickerViewController에서 zip 파일에 대한 조건 확인
Aug 21 2020
이것은 UIDocumentPickerViewController를 호출하여 펌웨어 업데이트 용 파일을 선택하는 코드입니다 .zip
. "선택"버튼을 누르면 문서 선택기보기가 나타납니다.
@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)
}
}
지금은 .docx
형식으로 파일을 열 수 있지만 사용자가 하나의 형식 인 zip 파일 만 선택하도록하면됩니다.
해결책을 찾을 수 없기 때문에 지금까지 한 일을 발표 할 수 없습니다. zip 파일을 확인하거나 다른 형식을 선택하는 것을 금지하는 방법이 있습니까? 감사합니다!
답변
Jithin Aug 21 2020 at 13:31
지원되는 유형 목록으로 DocumentPicker를 초기화합니다.
let zip = ["com.pkware.zip-archive"]
let importMenu = UIDocumentPickerViewController(documentTypes: zip, in: .import)
지원되는 UTI 목록은 다음과 같습니다.
Lilya Aug 24 2020 at 10:16
내 뷰의 확장자에서 UIDocumentPickerDelegate
및 기능을 사용하여 파일의 마지막 구성 요소가 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"
}
}