Mac OS Xでマウントされたローカルボリュームのリストを取得する必要があります。以前は、CocoaクラスNSWorkspace
には、そのようなボリュームのマウントポイントの配列を取得するためのmountedLocalVolumePaths
メソッドがありました。Lion以降、これは非推奨になりました。代わりに何を使用すべきかについてのヒントはドキュメントにありません。
この情報を提供する私が見つけた他の唯一のApple固有のAPIは、CoreServices.frameworkのFSGetVolumeInfo
関数です。これはkFSInvalidVolumeRefNum
、ボリュームパラメータにパスし、volumeIndexに1..Nを渡すと、マウントされたボリュームを列挙します。これは、volumeName出力パラメーターを介してボリューム名を(としてHFSUniStr255
)返し、 rootDirectory出力パラメーターを介してマウントポイントをとして返しFSRef
ます。これは、を使用してURLに変換できますCFURLCreateFromFSRef()
。
これは少し複雑で、不必要に低レベルのようです。
BSDレベルの関数もあり、getfsstat()
どちらgetmntinfo()
も構造体の配列を出力しstatfs
ます。APIはコアサービスバージョンよりも賢いようです。
代わりに使用する必要があるより高いレベルの代替品はありますか?