我正在啓動一個需要跟蹤外部硬盤驅動器的程序。
我正在尋找最好的方式來唯一標識一臺計算機上的硬盤驅動器(包括Windows下的.Net計算機)。在Swift中獲取HDD序列號
我看着得到的UUID,但這似乎是跨計算機不同。 我希望能夠獲得印在驅動器上的製造商序列號,但我不知道如何使用Swift來做到這一點,如果這甚至是可能的話。
額外的好處,如果我也可以把這綁定到檢測何時裝入新的硬盤,而不是DVD。
我正在啓動一個需要跟蹤外部硬盤驅動器的程序。
我正在尋找最好的方式來唯一標識一臺計算機上的硬盤驅動器(包括Windows下的.Net計算機)。在Swift中獲取HDD序列號
我看着得到的UUID,但這似乎是跨計算機不同。 我希望能夠獲得印在驅動器上的製造商序列號,但我不知道如何使用Swift來做到這一點,如果這甚至是可能的話。
額外的好處,如果我也可以把這綁定到檢測何時裝入新的硬盤,而不是DVD。
注意NSFileManager
有這個方法
mountedVolumeURLsIncludingResourceValuesForKeys(_:options:)
,並在選項,你可以指定NSURLVolumeIdentifierKey
。這是一個臨時標識符(在重新啓動時不一致),但它是唯一的,您將能夠以這種方式監視新添加或彈出的卷。
我確定還有另一個關鍵是告訴你關於文件系統的類型和其他屬性,讓你確定它是否是DVD。
從上述方法的文檔中,鏈接到Common File System Resource Keys。
也許像
let attributes = try manager.attributesOfFileSystemForPath("/")
也可能會有所幫助。特別是,NSFileSystemNumber
似乎也是一個獨特的數字。
嗯...這是一種重要的是,我發現一致的關鍵,這樣我就可以在我的電腦上獲得鑰匙,卸下鑰匙,拿到另一臺電腦上,插上鑰匙並拿到鑰匙。 – AndyD273
你的意思是類似[這個工具](http://apple.stackexchange.com/questions/135565/how-do-i-get-detailed-smart-disk-information-on-os-x-mavericks - 或更高版本)?它是開源的,所以你可以在那裏挖掘。 – tadman
有趣的信息在這裏:http://stackoverflow.com/a/2021812/2227743 – Moritz
@tadman嗯,是的,這很有趣...很多挖掘 – AndyD273