1

とりわけ、マウントされたボリュームが表示/非表示になると表示する OSX アプリケーションを開発しています。ディスク調停フレームワークを使用してそれを行います。タイム マシンのバックアップとして構成したネットワーク ドライブにコンピューターを接続すると、「timemachine」という名前のボリュームが表示されます。つまり、表示されるデバイスの CFDictionary は次のとおりです。

{DAVolumeMountable=true、DAVolumeNetwork=true、DAVolumeName=timemachine、DAVolumePath=file://localhost/Volumes/timemachine/、DAVolumeKind=afpfs}

このボリュームをアプリケーションの UI に表示したくありません。それを除外するのが本当にタイムマシンのボリュームであることを知るために、どの基準を使用できますか? 名前またはパスを使用するだけでは奇妙に思えます。「timemachine」という名前を持つようにフォーマットされたドライブは、理論的には同じ名前/パスでマウントされませんか?

アドバイスをいただければ幸いです。

4

1 に答える 1

0

Time Machine ボリュームを識別する API が見つかりません。動詞でtmutilプログラムを呼び出すことができます。destinationinfoTime Machine ボリュームに「.com.apple.timemachine.donotpresent」などのファイルも表示されますが、これは文書化されていない実装の詳細に依存しています。

ちなみに、ユーザーは Time Machine ボリュームを通常どおり使用できます。少なくとも地元の人はできます。彼らはそれを参照して、バックアップ以外の他のファイルをそこに置くことができます. 明らかに、ドライブが故障した場合に失うのが惜しいものをそこに置くべきではありません。

Finder に存在するものと同じボリュームのみを表示したい場合は、およびその通知を使用して、ボリュームがいつマウントおよびアンマウントされるかを知ることをお勧めしNSWorkspaceます。とともに使用します。non-browsable が hidden と同義であるかどうかわからないので、withも使用することをお勧めします。NSWorkspaceDidMountNotificationNSWorkspaceWillUnmountNotification-[NSFileManager mountedVolumeURLsIncludingResourceValuesForKeys:options:]NSVolumeEnumerationSkipHiddenVolumes-getResourceValue:forKey:error:NSURLVolumeIsBrowsableKey

于 2014-05-31T14:51:32.320 に答える