是否存在允许我的C++代码在Mac OS X上使用hdiutil的系统调用或库。我的代码需要挂载可用的.dmg文件,然后操纵其中的内容。
最佳答案
如果可以使用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以获取成功。关于c++ - Mac上的hdiutil的C++接口(interface),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2008414/