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 中构建基于文档的应用程序”进行实际演示。
我有一个 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 中构建基于文档的应用程序”进行实际演示。