无法在 Apple Silicon 上录制 iPhone 屏幕

时间:2021-06-04 12:32:55

标签: swift avfoundation apple-silicon

我设置了一个简单的捕获会话,用于从 Mac Mini M1 通过 USB 记录我的 iPhone。

当我尝试将捕获会话记录到文件时,没有任何内容写入磁盘,并且控制台一遍又一遍地输出相同的错误消息。

我只能在 Apple Silicon 上重现这个问题。完全相同的代码适用于英特尔。

步骤

  1. 允许使用 kCMIOHardwarePropertyAllowScreenCaptureDevices 进行屏幕截图
  2. 通过 AVCaptureDevice.devices:for - muxed 查找 iPhone
  3. 使用该设备创建捕获设备输入
  4. 启动会话,并显示其预览层。这行得通。
  5. 告诉输出开始录制
  6. 几秒钟后,告诉输出停止记录

预期: 要在给定文件 URL 处找到的文件。我的基于 Intel 的 Mac 就是这种情况。

实际: 在 Apple Silicon 上,没有写入文件,并且 Xcode 控制台填满了以下错误消息:

2021-06-04 14:00:23.379063+0200 Device Recording Demo[4786:102932] [] CMIO_Unit_Convertor_VideoToolboxCompressor.cpp:1958:doCompressBuffer [0x14683c800] EXCEPTION ON ERROR -67447

完整回购:

https://github.com/mortenjust/Device-Recording-Bug-Demo/blob/main/Device%20Recording%20Demo/ViewController.swift

0 个答案:

没有答案