如何在iOS 8和Yosemite之间设置镜像会话?

Nad*_*Rub 3 macos ios8 osx-yosemite

在OS X Yosemite上,iOS 8设备的屏幕可以镜像到OS X计算机并保存为媒体文件.这可以使用QuickTime Player手动完成,但我想以编程方式执行相同的操作.

阅读文档时,iOS 8设备应该作为网络摄像头公开.

[AVCaptureDevice devicesWithMediaType:AVMediaTypeVideo]在我的Mac上调用返回NSArray没有元素.

如何使用iOS 8和Yosemite设置镜像会话?如何检测镜像会话的捕获设备?

Nad*_*Rub 16

引自2014年WWDC会议#508"相机捕获:手动控制"的PDF成绩单第28页:

iOS设备显示为CoreMedia IO"DAL"插件

您必须选择在OS X应用中查看iOS屏幕设备

CMIOObjectPropertyAddress prop =
                           { kCMIOHardwarePropertyAllowScreenCaptureDevices,
                             kCMIOObjectPropertyScopeGlobal,
                             kCMIOObjectPropertyElementMaster };
UInt32 allow = 1;
CMIOObjectSetPropertyData( kCMIOObjectSystemObject,
                           &prop, 0, NULL,
                           sizeof(allow), &allow );
Run Code Online (Sandbox Code Playgroud)

另外,请参阅我的博客,了解CoreMediaIO捕获示例,以直接拦截从设备发出的原始压缩有效负载

  • 设备可能需要一些时间才能安装〜/可用,B4设置上面安装正确的NSNotification以在添加设备时收到通知,重要说明:从OS-X 10.10开始iOS镜像存在内存泄漏(操作系统) Bug),长时间捕获运行会话导致巨大的内存泄漏 (3认同)