gpt4 book ai didi

ios - 无法在共享扩展中从 Twitter 应用加载图像

转载 作者:行者123 更新时间:2023-11-30 12:21:14 31 4
gpt4 key购买 nike

我正在实现一个共享扩展,它将图像发送到服务器进行计算。除了我的progress bar issues ,我无法使用 Twitter 应用程序中的图像。这是我正在使用的代码,它可以在许多其他第三方应用程序中运行。

if let inputItem = extensionContext!.inputItems.first as? NSExtensionItem {
if let itemProvider = inputItem.attachments?.first as? NSItemProvider {
if itemProvider.hasItemConformingToTypeIdentifier(kUTTypeImage as String) {
itemProvider.loadItem(forTypeIdentifier: kUTTypeImage as String) { [unowned self] (imageData, error) in
let url = imageData as! URL
self.sendToServer(localUrl: url)
}
}
}
}

我遇到的错误如下:无法将类型'NSConcreteData'(0x1a8d45700)的值转换为'NSURL'(0x1a8d36a10)并且发生在这部分代码let url = 图像数据为!网址

该项目的类型似乎是image。知道为什么在其他应用程序适用时会发生这种情况吗?

感谢您的帮助。

最佳答案

我设法使用以下代码解决了这个问题,该代码考虑了 itemProvider 传递照片的不同方式。

itemProvider.loadItem(forTypeIdentifier: kUTTypeImage as String){ [unowned self] (data, error) in
let myImage: UIImage?
switch data {
case let image as UIImage:
myImage = image
case let data as Data:
myImage = UIImage(data: data)
case let url as URL:
let imageData = NSData(contentsOf: url.absoluteURL)
myImage = UIImage(data: imageData! as Data)
default:
//There may be other cases...
print("Unexpected data:", type(of: data))
myImage = nil
}
self.sendToServer(imageData: myImage!, imageName: myImageName)
}

关于ios - 无法在共享扩展中从 Twitter 应用加载图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44767338/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com