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

Swift中如何将UTTypePlainText作为String类型使用?

解决iOS 15+下kUTTypePlainText弃用警告及UTType找不到的问题

问题核心

iOS 15起,kUTTypePlainText这类CoreServices中的UTI常量被弃用,统一迁移到UniformTypeIdentifiers框架下的UTType体系,但直接使用UTTypePlainText或UTType.plainText会报错,本质是没正确获取字符串类型的标识符参数。

正确解决步骤

  • 精简框架导入:仅保留UniformTypeIdentifiers导入,移除CoreFoundation、CoreServices、MobileCoreServices这类不必要的导入(避免框架冲突)。
  • 使用正确的UTType调用方式:UTType.plainText是UTType实例,而NSItemProvider的typeIdentifier参数需要字符串类型,需调用其identifier属性:
let itemProvider = NSItemProvider(item: Data(data), typeIdentifier: UTType.plainText.identifier)

补充:如果你的data本身就是Data类型,直接传入即可,无需转成NSData,iOS 15+完全兼容Data作为NSItemProvider的item参数

额外验证操作

  1. 确认项目Deployment Target已设置为iOS 15.0及以上
  2. 执行Xcode清理缓存(Product -> Clean Build Folder)后重新编译

内容的提问来源于stack exchange,提问作者lurning too koad

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 09:58:16