我正在使用拖放将文件拖放到我的应用程序上。
Apple 在 OSX 10.14 中弃用了 NSFilenamesPboardType,并建议使用 NSPasteboardTypeFileURL。
我得到的网址(字符串(是:
file:///.file/id=6571367.2682325
如何从此 URL 获取实际文件路径?我需要文件名和类型信息。我也可以使用完整文件路径访问文件吗?我假设它已添加到我的沙盒中。
我在Mac OS 10.14上工作,Xcode 10.2。
我在 performDragOperation 中得到了两个解决方案(都使用 NSPasteboardTypeFileURL 注册 ForDraggedType。然后(:
-
上述
[[NSURL URLWithString:relativePath] fileSystemRepresentation];
-
初始化粘贴板
NSString *fileURL = [[NSURL URLFromPasteboard:pasteBoard] path];
我使用以下方法找到了解决方案:
NSURL * url = [NSURL initWithString:urlString];
NSString * path = [url fileSystemRepresentation];
是的,该文件可以从我的沙盒应用程序访问。