如何查找Mac上是否确实存在已安装的驱动器

PRI*_*IME 11 c++ filesystems macos cocoa boost

我实际想要实现的是找出我从网络安装的驱动器何时断开连接.我用一个非常简单的方法开始,我用过:

提高::文件系统::存在

在驱动器的安装路径上(我们可以在/ Volumes /中找到).例如,对于计算机上的驱动器:smb:// XYZ /驱动器安装后,我可以看到它像:/ Volumes/drive,后者是我使用boost :: filesystem :: exists的驱动器,

所以我希望一旦我断开网络连接,就会立即清除/ Volumes中的挂载卷,一切都会正常工作.

但是,后来我意识到在网络断开连接上,OSX需要永远清除/ Volumes目录中的驱动器.

是否有苹果API可以判断/ Volumes中出现的已计量量是否为有效量.

提前致谢.

Ste*_*ntz 1

有一种方法NSFileManager可以让您轻松查看已安装的卷:

- (NSArray*) mountedVolumeURLsIncludingResourceValuesForKeys:option- 返回一组 URL,用于标识计算机上可用的已安装卷。

我不知道这如何处理停滞的坐骑。您还需要查明这些安装的卷是网络卷还是磁盘映像。

如果您希望在卷出现和消失时收到通知,可以使用文件系统事件 API。它的级别有点低,但你基本上可以要求它“当结构发生/Volumes/*变化时通知我”。