(MACOSX)

编程入门 行业动态 更新时间:2024-10-10 06:16:16
本文介绍了(MACOSX)-了解是否已从DMG安装了已安装的设备的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

使用DiskArbitration或FSGetVolumeInfo/GetVolumeParms找不到该信息...

Couldn't find that info using DiskArbitration or FSGetVolumeInfo/GetVolumeParms...

我知道hdiutil使用一个称为DiskImages框架的私有框架,但是我不想每次想要此信息时都运行一个外部实用程序……该API的位置在哪里?

I know that hdiutil uses a private framework called DiskImages framework, but I wouldn't want to run an external utility each time I want this info... wheres the API for this ?

推荐答案

2015年7月更新

此更新是由Stan James的新问题.

您可以使用获取此信息. DiskArbitration 框架.要使用下面的示例,您必须链接并#import它.

You can obtain this information using the DiskArbitration framework. To use the example below, you must link against and #import it.

#import <DiskArbitration/DiskArbitration.h>

...

- (BOOL)isDMGVolumeAtURL:(NSURL *)url { BOOL isDMG = NO; if (url.isFileURL) { DASessionRef session = DASessionCreate(kCFAllocatorDefault); if (session != nil) { DADiskRef disk = DADiskCreateFromVolumePath(kCFAllocatorDefault, session, (__bridge CFURLRef)url); if (disk != nil) { NSDictionary * desc = CFBridgingRelease(DADiskCopyDescription(disk)); NSString * model = desc[(NSString *)kDADiskDescriptionDeviceModelKey]; isDMG = ([model isEqualToString:@"Disk Image"]); CFRelease(disk); } CFRelease(session); } } return isDMG; }

用法:

BOOL isDMG = [someObject isDMGVolumeAtURL:[NSURL fileURLWithPath:@"/Volumes/Some Volume"]];

我希望这会有所帮助.

更多推荐

(MACOSX)

本文发布于:2023-10-30 05:09:04,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1541853.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:MACOSX

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!