在Swift中获取硬盘序列号

时间:2015-11-09 21:05:55

标签: swift macos

我正在启动一个需要跟踪外部硬盘的程序 我正在寻找跨多台计算机(包括带有.Net的Windows计算机)唯一识别硬盘的最佳方法。

我看过获取UUID,但这在计算机上似乎有所不同。 我希望尝试将驱动程序上的制造商序列号打印出来,但如果可能的话,我也不知道如何使用Swift。

额外奖励如果我还可以将其与安装新硬盘的时间相关联,而不是DVD。

1 个答案:

答案 0 :(得分:2)

请注意NSFileManager有此方法

mountedVolumeURLsIncludingResourceValuesForKeys(_:options:)

在选项下,您可以指定NSURLVolumeIdentifierKey。这是一个临时标识符(在重新启动时不一致)但它是唯一的,您可以通过这种方式监视新添加或弹出的卷。

我确信还有另一个密钥可以告诉您文件系统的类型以及其他可让您确定它是否为DVD的属性。

点击上述方法文档中的Common File System Resource Keys链接。

也许像

let attributes = try manager.attributesOfFileSystemForPath("/")

也可以提供帮助。特别是,NSFileSystemNumber似乎也是一个唯一的数字。