我无法让共享扩展正常工作。我的共享控制器中有以下内容。
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 中的常量,但我似乎无法访问它。它是枚举的一部分吗?我是否必须导入某些内容才能访问它?
感谢您的帮助。
这个问题就有答案了:
将
import MobileCoreServices
添加到您的源文件中。
iOS 15+
请使用
UTType.url.identifier
来代替。
import UniformTypeIdentifiers
if itemProvider.hasItemConformingToTypeIdentifier(UTType.url.identifier) {
...
}