在Finder中显示不在10.8中工作

Pau*_*aul 6 cocoa nsworkspace

这适用于10.7但不是10.8.我如何在Mountain Lion中使用它?

-(IBAction)showTargetInFinder:(id)sender
{

     NSString *linkPath = [targetField stringValue];
     NSWorkspace *ws = [NSWorkspace sharedWorkspace];
     [ws selectFile:linkPath inFileViewerRootedAtPath:nil];

}
Run Code Online (Sandbox Code Playgroud)

Ped*_*ira 7

请改用此代码:

NSURL *fileURL = your file URL;
NSArray *fileURLs = [NSArray arrayWithObjects:fileURL, nil];
[[NSWorkspace sharedWorkspace] activateFileViewerSelectingURLs:fileURLs];
Run Code Online (Sandbox Code Playgroud)

这适用于10.6+.如果你想在Finder上显示和选择多个文件,只需NSURLs在阵列中添加更多文件,就可以了.

  • 或者,不要让NSArray为您创建数组,而是使用数组文字:`[[NSWorkspace sharedWorkspace] activateFileViewerSelectingURLs:@ [fileURL]]` (2认同)
  • 这对我来说也不适用于10.8.2.我知道路径是有效的,我可以验证.这句话什么都不做:`[[NSWorkspace sharedWorkspace] activateFileViewerSelectingURLs:@ [[NSURL fileURLWithPath:self.myPath]]]` (2认同)