【问题标题】:Get HDD Serial Number in Swift在 Swift 中获取硬盘序列号
【发布时间】:2015-11-10 05:44:20
【问题描述】:

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

我查看了获取 UUID,但这似乎在不同计算机上有所不同。 我希望尝试获得印在驱动器上的制造商序列号,但我不知道如何使用 Swift 来实现,如果可能的话。

如果我还可以将其与检测何时安装新 HDD 而不是 DVD 相关联,则额外奖励。

【问题讨论】:

  • 你的意思是像this tool这样的东西吗?它是开源的,所以你可以在那里挖掘。
  • 这里有有趣的信息:stackoverflow.com/a/2021812/2227743
  • @tadman 嗯,是的,这很有趣……有很多值得挖掘的地方

标签: swift macos


【解决方案1】:

注意NSFileManager有这个方法

mountedVolumeURLsIncludingResourceValuesForKeys(_:options:)

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

我相信还有另一个键可以告诉您文件系统的类型和其他属性,让您确定它是否是 DVD。

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

可能是这样的

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

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

【讨论】:

  • hmm...找到一个一致的密钥很重要,这样我就可以在我的计算机上获取密钥,卸载它,将它带到另一台计算机,插入它并获得相同的键。
猜你喜欢
  • 2011-05-04
  • 1970-01-01
  • 1970-01-01
  • 2016-06-10
  • 2010-12-06
  • 2011-01-02
  • 2014-01-11
  • 1970-01-01
  • 2011-06-01
相关资源
最近更新 更多