微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

无法在 Apple Silicon 上录制 iPhone 屏幕

如何解决无法在 Apple Silicon 上录制 iPhone 屏幕

我设置了一个简单的捕获会话,用于从 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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。