class ViewController: UIViewController {
public static let metalDevice:MTLDevice? = MTLCreateSystemDefaultDevice() //Freezes iOS 14 device
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
}
}
我在iOS 14(测试版3(中看到了一个不寻常的自转错误。我有一个XCode项目与一些AVFoundation(AVCaptureSession(&用于设置相机和渲染相机帧的金属代码。代码是巨大的,但这是关于bug的奇怪之处。
使用XCode 12构建项目,并在iOS 14设备上运行。视图控制器在连接到调试器时不会自动旋转。当应用程序在没有调试器的情况下打开时,会发生自动旋转,
一旦自动旋转在调试器中被阻止,XCode项目就会永远被阻止。意思是,如果我将初始视图控制器更改为某个虚拟视图控制器,它也无法自动旋转!!!唯一的方法是制作一个新的XCode项目来重现这个问题。
这在iOS 13设备上不会发生。
由于有很多代码,因此很难制作可再现的测试用例。我试着修剪了很多代码,但它是不可复制的。即使要找到罪魁祸首代码,我每次都需要制作一个新的XCode项目,因为这个项目一旦死了就永远死了!
有人知道类似的问题吗?任何投入都将不胜感激。
这无疑是iOS 14中的一个引人注目的、非常禁用的错误。禁用GPU帧捕获或在Scheme设置中将GPU帧捕获设置为"Metal"似乎可以修复它。