首页 > 解决方案 > 无法在 Apple Silicon 上录制 iPhone 屏幕

问题描述

我设置了一个简单的捕获会话,通过 USB 从我的 Mac Mini M1 录制我的 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

标签: swiftavfoundationapple-silicon

解决方案


推荐阅读