如何使用 UIDocumentPickerViewController 选择自定义类型?
How to use UIDocumentPickerViewController to pick a custom type?
我在从云端导入文件时遇到问题。我正在处理我实际上并未创建的自定义文件类型。所以我不知道实际的扩展类型是什么(例如com.example.pdf)。该文件以 .toc 结尾,那么有没有一种方法我只能接受以 .toc 结尾的文件?
例如这样的事情:
UIDocumentPickerViewController(documentTypes: [String("*.toc")], in: .import)
如果这不可能,有没有办法允许 selected 任何文件?从那里我可以只检查最后 4 位数字并让用户知道文件必须以 .toc?
结尾
为了尝试获取有关此文件类型的更多信息,我还在终端中 运行 以下命令:
file -I filename.toc
返回:
filename.toc: text/html; charset=us-ascii
因为这是一个 "text/html" 文件,我尝试使用:
UIDocumentPickerViewController(documentTypes: [String(kUTTypeText)], in: .import)
但是,这不允许我 select 文件...有人有什么想法吗?
kUTTypeText
用于 text/plain。 text/html.
你想要 kUTTypeHTML
iOS 可能不同意 "toc" 个文件是 text/html。您可能应该将适当的 "Exported UTI" 添加到 Info.plist 中,为 "toc" 扩展定义适当的 mime 类型。然后在 UIDocumentPickerViewController
.
中使用该 mime 类型
有关在您的应用中设置导出的 UTI 的详细信息,请参阅 Uniform Type Identifiers Overview。
如果要允许任何文件,请使用 kUTTypeItem
。
我在从云端导入文件时遇到问题。我正在处理我实际上并未创建的自定义文件类型。所以我不知道实际的扩展类型是什么(例如com.example.pdf)。该文件以 .toc 结尾,那么有没有一种方法我只能接受以 .toc 结尾的文件?
例如这样的事情:
UIDocumentPickerViewController(documentTypes: [String("*.toc")], in: .import)
如果这不可能,有没有办法允许 selected 任何文件?从那里我可以只检查最后 4 位数字并让用户知道文件必须以 .toc?
结尾为了尝试获取有关此文件类型的更多信息,我还在终端中 运行 以下命令:
file -I filename.toc
返回:
filename.toc: text/html; charset=us-ascii
因为这是一个 "text/html" 文件,我尝试使用:
UIDocumentPickerViewController(documentTypes: [String(kUTTypeText)], in: .import)
但是,这不允许我 select 文件...有人有什么想法吗?
kUTTypeText
用于 text/plain。 text/html.
kUTTypeHTML
iOS 可能不同意 "toc" 个文件是 text/html。您可能应该将适当的 "Exported UTI" 添加到 Info.plist 中,为 "toc" 扩展定义适当的 mime 类型。然后在 UIDocumentPickerViewController
.
有关在您的应用中设置导出的 UTI 的详细信息,请参阅 Uniform Type Identifiers Overview。
如果要允许任何文件,请使用 kUTTypeItem
。