iOS 14 中 UIDocumentPickerViewController 的初始化

Initialization of UIDocumentPickerViewController in iOS 14

我有一个 UIDocumentPickerViewController 只选择图像。这在 iOS 13:

中工作正常
let supportedTypes: [String] = ["public.image"]
let documentPickerViewController = UIDocumentPickerViewController(documentTypes: supportedTypes, in: .import)

我正在努力在 iOS 14 中实现相同的目标。

但是,init(documentTypes:in:) 在 iOS 14.0 中已弃用。

所以我假设我必须改用这个初始化程序:init(forOpeningContentTypes:asCopy:)

forOpeningContentTypes 参数需要 UTType 的数组。
我不确定如何使用/导入它。
[UTType.Image]吗?

let supportedTypes: [UTType] = [UTType.Image]
self.viewController = UIDocumentPickerViewController(forOpeningContentTypes: supportedTypes, asCopy: true)

这甚至无法编译,因为 Cannot find type 'UTType' in scope.
我也尝试了 import MobileCoreServices 甚至 import CoreServices,但没有帮助。

文档 for the new Document Picker initializer points to this UTTypeReference -- 所以我尝试使用它,但也找不到。

如何让 UIDocumentPickerViewController 只选择 iOS 14 中的图像?

Update

这有效(感谢@Warren):

import UniformTypeIdentifiers
let supportedTypes: [UTType] = [UTType.image]
let pickerViewController = UIDocumentPickerViewController(forOpeningContentTypes: supportedTypes, asCopy: true)

import UniformTypeIdentifiers 添加到您的 swift 文件以访问 UTType

有关更多用法,请参阅 the documentation

还有 WWDC2020 video“在 SwiftUI 中构建基于文档的应用程序”进行实际演示。