sur*_*ran 4 macos uuid volume diskarbitration
我有一个分区的路径.如何在不使用终端命令的情况下以编程方式检索该分区的UUID?一个例子会更有帮助.
$ diskutil info / | grep UUID
从C运行这个是留给读者的练习.
如果您想要除根之外的分区,则可以指定安装点或设备名称(例如disk0s2)来代替/.
您可以使用Disk Arbitration框架(Apple参考).Chris Suter 在这篇博客中也有一个很好的总结.
您可以使用kDADiskDescriptionMediaUUIDKey获取UUID.Aaron Burghardt在这个邮件列表主题中描述得很好.以下是该链接的引用:
获得DADisk后,使用DADiskCopyDescription获取属性字典,在其中您将找到具有密钥kDADiskDescriptionMediaUUIDKey的UUID(有关可能感兴趣的其他密钥,请参阅DADisk.h).注意,DADisk是IOMedia对象的包装器,描述字典直接对应于IOMedia对象中的属性.此外,CFShow()对于将描述字典打印到控制台很有用.