2012-06-01 8 views
4

Mac OS X에서 마운트 된 로컬 볼륨의 목록을 가져와야합니다. 이전에는 코코아 클래스 NSWorkspace에 해당 볼륨에 대한 마운트 포인트 배열을 얻기 위해 mountedLocalVolumePaths method이있었습니다. Lion 이후로, 이제는 더 이상 사용하지 말아야 할 문서에 대한 힌트가없이 사용되지 않습니다.FSGetVolumeInfo는 NSWorkspace의 deprecated mountedLocalVolumePaths 메서드 대신 권장되는 도구입니까?

이 정보를 제공하는 유일한 Apple 특정 API는 CoreServices.framework의 FSGetVolumeInfo function입니다. 이렇게하면 볼륨의 경우 kFSInvalidVolumeRefNum 볼륨을 매개 변수로 전달하고 volumeIndex의 경우 1..N을 전달하면 탑재 된 볼륨이 열거됩니다. 그것은 VolumeName에 출력 매개 변수 차례로 CFURLCreateFromFSRef()를 사용하여 URL로 변환 할 수있는 FSRefrootDirectory 출력 매개 변수를 통해 마운트 지점을 통해 (A HFSUniStr255로) 볼륨 이름을 반환합니다.

이것은 약간 복잡하고 불필요한 저수준처럼 보입니다.

BSD 수준 함수 getfsstat()getmntinfo()도 있습니다. 모두 statfs 구조체의 배열을 방출합니다. API는 핵심 서비스 버전보다 안전합니다.

내가 대신 사용해야하는 상위 수준의 대체품이 있습니까?

+1

mountedLocalVolumePaths를 대체 할 필요가 없습니다. 10.0 년 이후로 사용되어 왔으며 최근에는 더 이상 사용되지 않습니다. 주요 OS 릴리스의 다른 몇 가지 경우에는 아마 아무데도 가지 않을 것입니다. – Mark

답변