如何在 Swift 中使用 UTTypePlainText 作为字符串?

hga*_*ale 2 ios swift

我有一个项目,曾经支持 iOS 15 之前的版本,但现在只支持 iOS 15+。自更改以来,我收到了针对以下代码行的以下 Xcode 警告:

let itemProvider = NSItemProvider(item: NSData(data: data), typeIdentifier: kUTTypePlainText as String)
Run Code Online (Sandbox Code Playgroud)

“kUTTypePlainText”在 iOS 15.0 中已弃用:请改用 UTTypePlainText。

替换UTTypePlainTextin 并不能消除警告,因为它无法在范围内找到它。以下也不起作用:

let itemProvider = NSItemProvider(item: NSData(data: data), typeIdentifier: UTType.plainText)
Run Code Online (Sandbox Code Playgroud)

我找不到关于这种类型的任何明确的文档。我已经导入了,,,但UniformTypeIdentifiers没有CoreFoundation效果。CoreServicesMobileCoreServices

Han*_*ash 6

导入后UniformTypeIdentifiers即可使用UTType.plainText获取所需的UTType. 然后使用它的identifier属性来获取String.

所以你的行变成:

let itemProvider = NSItemProvider(item: NSData(data: data), typeIdentifier: UTType.plainText.identifier)
Run Code Online (Sandbox Code Playgroud)