是否存在允许我的C ++代码在Mac OS X上使用hdiutil的系统调用或库。我的代码需要挂载一个可用的.dmg文件,然后操作里面的内容。
答案 0 :(得分:3)
如果可以使用Objective-C ++,则可以使用NSTask运行命令行工具:
NSTask *task = [[NSTask alloc] init];
[task setLaunchPath: @"/usr/bin/hdiutil"];
[task setArguments:
[NSArray arrayWithObjects: @"attach", @"/path/to/dmg/file", nil]];
[task launch];
[task waitUntilExit];
if (0 != [task terminationStatus])
NSLog(@"Mount failed.");
[task release];
如果需要使用“普通”C ++,可以使用system():
if (0 != system("/usr/bin/hdiutil attach /path/to/dmg/file"))
puts("Mount failed.");
或fork()/ exec()。
您需要仔细检查hdiutil
是否实际返回0才能成功。
答案 1 :(得分:3)
hdiutil
使用DiskImages.framework;不幸的是,框架是私有的(没有文档,没有标题),但如果你有冒险精神,你可以try to use it anyway。
答案 2 :(得分:1)