Mac OS X에서 마운트 된 로컬 볼륨의 목록을 가져와야합니다. 이전에는 코코아 클래스 NSWorkspace
에 해당 볼륨에 대한 마운트 포인트 배열을 얻기 위해 mountedLocalVolumePaths
method이있었습니다. Lion 이후로, 이제는 더 이상 사용하지 말아야 할 문서에 대한 힌트가없이 사용되지 않습니다.FSGetVolumeInfo는 NSWorkspace의 deprecated mountedLocalVolumePaths 메서드 대신 권장되는 도구입니까?
이 정보를 제공하는 유일한 Apple 특정 API는 CoreServices.framework의 FSGetVolumeInfo
function입니다. 이렇게하면 볼륨의 경우 kFSInvalidVolumeRefNum
볼륨을 매개 변수로 전달하고 volumeIndex의 경우 1..N을 전달하면 탑재 된 볼륨이 열거됩니다. 그것은 VolumeName에 출력 매개 변수 차례로 CFURLCreateFromFSRef()
를 사용하여 URL로 변환 할 수있는 FSRef
로 rootDirectory 출력 매개 변수를 통해 마운트 지점을 통해 (A HFSUniStr255
로) 볼륨 이름을 반환합니다.
이것은 약간 복잡하고 불필요한 저수준처럼 보입니다.
BSD 수준 함수 getfsstat()
및 getmntinfo()
도 있습니다. 모두 statfs
구조체의 배열을 방출합니다. API는 핵심 서비스 버전보다 안전합니다.
내가 대신 사용해야하는 상위 수준의 대체품이 있습니까?
mountedLocalVolumePaths를 대체 할 필요가 없습니다. 10.0 년 이후로 사용되어 왔으며 최근에는 더 이상 사용되지 않습니다. 주요 OS 릴리스의 다른 몇 가지 경우에는 아마 아무데도 가지 않을 것입니다. – Mark