我正在使用以下代码来显示文档拾取器。当我显示以下代码
的选择器时let documentPickerController = UIDocumentPickerViewController(documentTypes: [String(kUTTypeText), String(kUTTypePDF), String(kUTTypePNG), String(kUTTypeJPEG), String(kUTTypePlainText), String(kUTTypeImage)], in: .import)
上面的代码向我显示了我的iCloud中的所有文件,但它不允许我选择doc,docx文件。这些文件显示为禁用。
但是,当我将 "public.data"
添加为 UIDocumentPickerViewController
构造函数中的元素时,它允许我选择doc,docx file&文件并未作为禁用。
请告诉我为什么会发生这种情况?
仅发布答案以帮助其他用户。
要通过文档选择器选择.docx
文件,您需要使用org.openxmlformats.wordprocessingml.document
类型。
let documentPickerController = UIDocumentPickerViewController(documentTypes: ["com.microsoft.word.doc", "org.openxmlformats.wordprocessingml.document"], in: .import)
iOS 14.0
let documentPickerController = UIDocumentPickerViewController(forOpeningContentTypes: [.appleArchive])
感谢您的更新@sadegh bitarafan
才能选择doc和docx,您必须使用public.data。
com.microsoft.word.doc符合public.data
kuttypeplaintext仅允许.txt type
的文件仅允许文档给出" com.microsoft.word.doc
"
let documentPickerController = UIDocumentPickerViewController(documentTypes: [com.microsoft.word.doc], in: .import)
有关更多信息:系统宣布的统一类型标识符
更多类型的帮助:
let types = [kUTTypePDF, kUTTypeText, kUTTypeRTF, kUTTypeSpreadsheet, kUTTypePNG, kUTTypeJPEG, kUTTypeGIF, "com.microsoft.word.doc" as CFString, "org.openxmlformats.wordprocessingml.document" as CFString]