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
フォーマットで開くことは可能ですが、ユーザーに1つのフォーマット(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"
}
}