2010-01-04 6 views

답변

33

질문이 있으시면 Finder에서 저장 한 폴더를 열려고하십니까?

이 작업은 트릭을 수행해야합니다. 사용자가 savePanel에 대한 참조를 가지고 있다고 가정합니다.

NSURL *fileURL = [NSURL fileURLWithPath: stringContainingPath]; 
28

더 나은 그냥 폴더를 열 수 없습니다하는 것입니다,하지만 저장된 파일을 선택 :

NSURL *fileURL = [savePanel URL]; 
NSURL *folderURL = [fileURL URLByDeletingLastPathComponent]; 
[[NSWorkspace sharedWorkspace] openURL: folderURL]; 

당신이 경로를 포함하는 NSString로 시작하는 경우, 다음 시작합니다.

[[NSWorkspace sharedWorkspace] activateFileViewerSelectingURLs:@[ URLToSavedFile ]]; 

인수는, URL의 배열, 그래서 당신은 당신이 계시 할 하나 개의 파일이있는 경우, 당신은 단순히 하나의 객체의 배열을 전달 : NSWorkspace 당신을 위해 그렇게 할 수 있습니다.

[[NSWorkspace sharedWorkspace] selectFile:pathToSavedFile inFileViewerRootedAtPath:@""]; 

이 (당신은 빈을 전달하려는 :

경우, 어떤 이유로, 당신은 10.6보다는, 대신 기존의 경로 기반 방법을 사용하십시오 나이가 맥 OS X의 버전을 타겟팅 존재하는 경우 파인더는 폴더에 대한 기존 Finder 윈도우를 다시 사용할 수 있도록 두 번째 인수 문자열입니다.)

4

이 게시물은 꽤 오래 알고 있지만 10.9로 싶은 것은

NSString* folder = @"/path/to/folder" 
[[NSWorkspace sharedWorkspace]openFile:folder withApplication:@"Finder"]; 
입니다
관련 문제