我试图在设备上查询AVFoundation支持的文件类型,然后将这些文件类型传递给UIDocumentPickerViewController支持的内容类型。AVFoundation将类型报告为AVFileType,而选择器则使用UTType。在我看来,AVFileType相当不透明,也就是说,我不知道这个文档意味着什么,以及它如何与打印它们时所显示的内容相一致。因为他们打印出来看起来像带有rawValues的枚举:
__C.AVFileType(_rawValue: dyn.ah62d46dzqm0gw23sqf40k4pts3y1g7pbru00g55ssvw067b4ge8046p0), __C.AVFileType(_rawValue: public.pls-playlist), __C.AVFileType(_rawValue: dyn.ah62d46dzqm0gw23sqf40k4pts3y1g7pbru00g55ssvw067b4gq80c7perf1w85puqzx1n6xq), __C.AVFileType(_rawValue: public.aifc-audio),但是文档说,AVFileType只是一个带有一些静态常量的结构。这种类型到底是什么,为什么它会显示rawValues,是否有任何方法来提取该信息并将其作为文件类型用于选择器?
发布于 2020-11-11 08:49:00
您可以简单地用AVFileType rawValue初始化一个新的rawValue对象:
let utType = UTType(AVFileType.ac3.rawValue) // <UTType 0x600001b68360> public.ac3-audioextension AVFileType {
var utType: UTType { UTType(rawValue)! }
}AVFileType.ac3.utType // <UTType 0x600001b68360> public.ac3-audiohttps://stackoverflow.com/questions/64782849
复制相似问题