以编程方式检索 OS X 磁盘分区 UUID
我有一个分区的路径。如何在不使用终端命令的情况下以编程方式检索该分区的 UUID?举个例子会更有帮助。
I have a path to a partition. How can I retrieve UUID of that partition programatically without using terminal commands? An example will be more helpful.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
$ diskutil 信息 / | grep UUID
从 C 运行它作为读者的练习。
如果您想要根分区以外的分区,可以指定挂载点或设备名称(例如disk0s2)来代替
/
。$ diskutil info / | grep UUID
Running this from C is left as an exercise for the reader.
If you want a partition other than the root, you can specify the mount point or device name (eg. disk0s2) in place of
/
.您可以使用磁盘仲裁框架(Apple 参考)。 Chris Suter 的博客上也有一个很好的总结。
您可以使用 kDADiskDescriptionMediaUUIDKey 获取 UUID。 Aaron Burghardt 在此邮件列表线程中对此进行了很好的描述。这是该链接的引用:
You can use the Disk Arbitration framework (Apple reference). There is also a good summary at this blog by Chris Suter.
You can get the UUID by using the kDADiskDescriptionMediaUUIDKey. Aaron Burghardt described it well in this mailing list thread. Here is a quote from that link:
我认为最简单的是使用 polkit
从以下位置下载 DiskWatcher.h 和 .m
http://polkit.googlecode.com/svn/trunk/FileSystem/DiskWatcher.h
http://polkit.googlecode.com/svn/trunk/FileSystem/DiskWatcher.m
将其添加到您的项目中(它没有 ARC,因此如果您使用 ARC,请添加 -fno-objc-arc 标志)
添加 DiskArbiratation 框架
你可以使用
I think the easiest is to use polkit
Download the DiskWatcher.h and .m from
http://polkit.googlecode.com/svn/trunk/FileSystem/DiskWatcher.h
http://polkit.googlecode.com/svn/trunk/FileSystem/DiskWatcher.m
Add it to your project (It has no ARC so add -fno-objc-arc flag if you use ARC)
Add DiskArbiratation framework
You can use