It's possible in Quicktime, with New Movie Recording > Camera dropdown > select iOS device. AppShow and Screenflow both do it.
I've tried this
Applescript
tell application "QuickTime Player"
set myrec to new movie recording
tell myrec
set current camera to video recording device named "Morten's iPod touch"
end tell
end tell
But this gives me
error "QuickTime Player got an error: Can’t set video recording device \"Morten's iPod touch\" of document \"Movie Recording\" to video recording device named \"Morten's iPod touch\" of document \"Movie Recording\"." number -10006 from video recording device "Morten's iPod touch" of document "Movie Recording"
AVFoundation Since iOS devices appear as cameras in Quicktime, I figured it would be a capture device in AVFoundation, but this code
for device in AVCaptureDevice.devices() {
println(device)
}
Just gives me my Facetime HD camera and a microphone.
You must opt in to see iOS screen devices in your OS X app.
See "How do I set up a mirroring session between iOS 8 and Yosemite?"
CMIOObjectPropertyAddress prop = {
kCMIOHardwarePropertyAllowScreenCaptureDevices,
kCMIOObjectPropertyScopeGlobal,
kCMIOObjectPropertyElementMaster
};
UInt32 allow = 1;
CMIOObjectSetPropertyData(kCMIOObjectSystemObject, &prop, 0, NULL, sizeof(allow), &allow);
You can get the list of devices using:
NSArray *devices = [AVCaptureDevice devicesWithMediaType:AVMediaTypeMuxed];