Cocoa (MACOSX)-了解已安装的设备是否从DMG安装

Cocoa (MACOSX)-了解已安装的设备是否从DMG安装,cocoa,macos,macos-carbon,Cocoa,Macos,Macos Carbon,无法使用DiskArbitration或FSGetVolumeInfo/GetVolumeParams找到该信息 我知道hdiutil使用一个名为DiskImages framework的私有框架,但我不想每次需要此信息时都运行一个外部实用程序。。。API在哪里?2015年7月更新 此更新由Stan James'提示 您可以使用框架获取此信息。要使用下面的示例,您必须链接并导入它 #import <DiskArbitration/DiskArbitration.h> 用法: BOO

无法使用DiskArbitration或FSGetVolumeInfo/GetVolumeParams找到该信息


我知道hdiutil使用一个名为DiskImages framework的私有框架,但我不想每次需要此信息时都运行一个外部实用程序。。。API在哪里?2015年7月更新

此更新由Stan James'提示

您可以使用框架获取此信息。要使用下面的示例,您必须链接并导入它

#import <DiskArbitration/DiskArbitration.h>
用法:

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

我希望这有帮助。

当然有。我链接到的代码检测到您描述的情况(即使它的目的不同),因此它可以将应用程序移动/复制到应用程序文件夹中。因此,在本例中,希望找到您问题的答案是合理的,不是吗?该链接不再有效,但我找到了相关代码,并将其添加到我的类似问题中:我已根据Stan James问题的答案更新了我的答案。
BOOL isDMG = [someObject isDMGVolumeAtURL:[NSURL fileURLWithPath:@"/Volumes/Some Volume"]];