Если вы можете использовать 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 для успеха или нет.