Informationen über ein Disk Image auslesen

From macwrench
Jump to navigation Jump to search

Um diverse Informationen eines Disk Image auszulesen, kann folgendes Stückchen Quellcode verwendet werden. Dies ruft in einem NSTask das Kommandozeilendienstprogramm "hdiutil" auf, um an diese Informationen zu gelangen:

NSArray *args = [NSArray arrayWithObjects:@"imageinfo", @"-plist", @"/path/to/disk/image.dmg", nil];
NSTask *task = [[NSTask alloc] init];
[task setLaunchPath:@"/usr/bin/hdiutil"];
[task setArguments:args];
NSPipe *pipe = [NSPipe pipe];
[task setStandardOutput:pipe];
[task launch];
NSData *data = [[pipe fileHandleForReading] readDataToEndOfFile];
[task waitUntilExit];
//int result = [task terminationStatus]; // falls benoetigt einkommentieren
[task release];
NSString *errorStr = nil;
NSDictionary *imageinfo = (NSDictionary *)[NSPropertyListSerialization propertyListFromData:data mutabilityOption:NSPropertyListImmutable format:NULL errorDescription:&errorStr];