Вы можете использовать такой код:
-(NSImage*)captureImageFromRect:(NSRect)captureRect
{
NSImage *resultingImage = nil;
CGImageRef image;
CGWindowID windowID = (CGWindowID)[[self window] windowNum];
image = CGWindowListCreateImage(NSRectToCGRect(captureRect), kCGWindowListOptionIncludingWindow|kCGWindowListOptionOnScreenBelowWindow, windowID, kCGWindowImageDefault);
resultingImage = [[NSImage alloc] initWithCGImage:image size:NSZeroSize];
CGImageRelease(image);
return [resultingImage autorelease];
}