You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

iOS Swift中如何实现支持打开任意类型文件?

如何在iOS中实现UIDocumentPickerViewController打开任意类型文件?

你尝试用通配符*获取所有文件类型的代码无法正常工作,原因在于UTType.types(tag: "*", tagClass: UTTagClass.filenameExtension, conformingTo: nil)并不能正确返回所有文件对应的UTType集合——UTType的通配符*在这里不会被解析为匹配所有扩展名,实际返回的类型集合不符合预期,导致文档选择器无法识别所有文件类型。

要实现打开任意类型文件的需求,正确的做法是使用UTType.item,它是UTType体系中的根类型,所有文件类型都继承自这个类型,将其传入文档选择器的初始化方法即可允许选择任意文件:

let types = [UTType.item]
let modelPicker = UIDocumentPickerViewController(forOpeningContentTypes: types)

你最初的写法存在逻辑问题,无法达到预期效果:

// 此代码无法正常工作,因为通配符*无法正确匹配所有文件扩展名
let types = UTType.types(tag: "*", tagClass: UTTagClass.filenameExtension, conformingTo: nil)
let modelPicker = UIDocumentPickerViewController(forOpeningContentTypes: types)

内容的提问来源于stack exchange,提问作者James

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 12:05:37