系统中存在带正斜杠(/)的文件名。
例如:网址 - > 〜/文档/文件夹名称/ TestFilename / myFile.dmg。
最后路径组件是 - > " TestFilename / myFile.dmg"
文件名是 - > " TestFilename / myFile.dmg"
现在,当我在我的应用程序中使用以下代码时,使用以下代码显示查找器类型的内容。它无法在发现者身上发现。
NSURL *fileURL = [NSURL URLWithString:@"/Documents/FolderName/TestFilename/myFile.dmg"];
[[NSWorkspace sharedWorkspace] activateFileViewerSelectingURLs:@[fileURL]];
现在如何在这种情况下解决此问题并使其在Finder中显示此类文件。我确实尝试过" CFURLCreateStringByAddingPercentEscapes",它似乎没有用。
答案 0 :(得分:1)
如果您可以在代码中分隔文件名和文件位置,则可以实现此目的。
以下是示例代码:
NSString *location = @"Users/Desktop";
NSString *fileName = @"TestFilename/myFile.dmg";
if ([fileName rangeOfString:@"/"].location != NSNotFound)
{
fileName = [fileName stringByReplacingOccurrencesOfString:@"/" withString:@":"];
}
[[NSWorkspace sharedWorkspace] selectFile:[location stringByAppendingPathComponent:fileName] inFileViewerRootedAtPath:location];