kUTTypeURL undefined — 在 Swift 中使用未解析的标识符“kUTTypeURL”

问题描述 投票:0回答:2

我无法让共享扩展正常工作。我的共享控制器中有以下内容。

let item: NSExtensionItem = self.extensionContext.inputItems[0] as NSExtensionItem
let itemProvider: NSItemProvider = item.attachments[0] as NSItemProvider
var URL: NSString
if itemProvider.hasItemConformingToTypeIdentifier(kUTTypeURL) {
  itemProvider.loadItemForTypeIdentifier(kUTTypeURL, options: nil, completionHandler:   {(url: NSURL, error: NSError) in
     URL = url.absoluteString
  })
}

self.extensionContext.completeRequestReturningItems(nil, completionHandler: nil)

这给了我在线上的错误

Use of unresolved identifier 'kUTTypeURL'
if itemProvider.hasItemConformingToTypeIdentifier(kUTTypeURL) {

似乎被定义为 Swift 中的常量,但我似乎无法访问它。它是枚举的一部分吗?我是否必须导入某些内容才能访问它?

感谢您的帮助。

ios swift ios8
2个回答
54
投票

这个问题就有答案了:

import MobileCoreServices
添加到您的源文件中。


0
投票

iOS 15+

请使用

UTType.url.identifier
来代替。

import UniformTypeIdentifiers

if itemProvider.hasItemConformingToTypeIdentifier(UTType.url.identifier) {
...
}
© www.soinside.com 2019 - 2024. All rights reserved.