【发布时间】:2021-08-03 16:37:38
【问题描述】:
目前使用[.plainText, .spreadsheet, .html, .pdf, .xml, .presentation, .jpeg, .bmp, .gif, .png, .tiff, .content]这些UTTypes但仍然可以附加.sh类型文件,我如何通过仍然支持文本和doc文件来限制可执行文件。
UTType 也没有指定 .doc、.docx 文件的类型
【问题讨论】:
目前使用[.plainText, .spreadsheet, .html, .pdf, .xml, .presentation, .jpeg, .bmp, .gif, .png, .tiff, .content]这些UTTypes但仍然可以附加.sh类型文件,我如何通过仍然支持文本和doc文件来限制可执行文件。
UTType 也没有指定 .doc、.docx 文件的类型
【问题讨论】:
我不确定你是否可以限制 .sh 文件类型,因为当你接受纯文本时它可能是允许的。关于 doc 文件类型,您可以扩展 UTTType 并实现自己的 .doc 和 .docx 类型:
import UniformTypeIdentifiers
extension UTType {
static let doc: Self = .init(filenameExtension: "doc")!
static let docx: Self = .init(filenameExtension: "docx")!
static let xls: Self = .init(filenameExtension: "xls")!
static let xlsx: Self = .init(filenameExtension: "xlsx")!
static let ppt: Self = .init(filenameExtension: "ppt")!
static let pptx: Self = .init(filenameExtension: "pptx")!
}
UTType.doc // com.microsoft.word.doc
UTType.docx // org.openxmlformats.wordprocessingml.document
UTType.xls // com.microsoft.excel.xls
UTType.xlsx // org.openxmlformats.spreadsheetml.sheet
UTType.ppt // com.microsoft.powerpoint.ppt
UTType.pptx // org.openxmlformats.presentationml.presentation
【讨论】: