OSX - 从文件URL获取文件路径,从拖放与沙盒应用程序



我正在使用拖放将文件拖放到我的应用程序上。

Apple 在 OSX 10.14 中弃用了 NSFilenamesPboardType,并建议使用 NSPasteboardTypeFileURL。

我得到的网址(字符串(是:

file:///.file/id=6571367.2682325

如何从此 URL 获取实际文件路径?我需要文件名和类型信息。我也可以使用完整文件路径访问文件吗?我假设它已添加到我的沙盒中。

我在Mac OS 10.14上工作,Xcode 10.2。

我在 performDragOperation 中得到了两个解决方案(都使用 NSPasteboardTypeFileURL 注册 ForDraggedType。然后(:

  1. 上述

    [

    [NSURL URLWithString:relativePath] fileSystemRepresentation];

  2. 初始化粘贴板

    NSString *fileURL = [[NSURL URLFromPasteboard:pasteBoard] path];

我使用以下方法找到了解决方案:

NSURL * url = [NSURL initWithString:urlString];
NSString * path = [url fileSystemRepresentation];

是的,该文件可以从我的沙盒应用程序访问。

最新更新