首页 > 解决方案 > 从 NSItemProvider 获取文件名/路径

问题描述

我的 macOS 共享扩展程序需要图像或视频文件。

我希望能够访问NSItemProvider对象的文件名(或路径)。

我想我可以itemProvider.loadDataRepresentation()用来获取媒体的数据。但是我不清楚如何检索文件名/路径。

当我打印 itemProvider 对象时,我得到了这个:

<NSItemProvider: 0x600002998d20> {types = (
    "public.jpeg",
    "public.file-url",
    "public.url"
)}

任何帮助表示赞赏。谢谢

标签: macosshare-extensionnsitemprovider

解决方案


弄清楚了。

                    itemProvider.loadItem(forTypeIdentifier: kUTTypeURL as String, options: nil, completionHandler: {
                        (data, error) in
                        if let url = URL(dataRepresentation: data as! Data, relativeTo: nil){
                            let filename = url.lastPathComponent
                            print(filename)
                        }
                    })

推荐阅读