使用 ARCamera 后 BarcodeScanner 无法读取 UPC 代码

BarcodeScanner can't read UPC code after using ARCamera

我正在使用 Apple Demonstration Project for placing 3d objects. And BarcodeScanner 读取 UPC 代码,然后使用它从 Firebase 下载模型。我的问题是,从带有 popViewController 的 ARKit 屏幕返回后(我也尝试过使用 pushViewController 甚至类似的东西:

let storyboard = UIStoryboard(name: "Main", bundle: nil)
let vc = storyboard.instantiateViewController(withIdentifier: "UPCScanner")
var viewcontrollers = self.navigationController?.viewControllers
viewcontrollers?.removeAll()
viewcontrollers?.append(vc)
self.navigationController?.setViewControllers(viewcontrollers!, animated: true)

BarcodeScanner 相机只会模糊太靠近它的一切。这里有一些截图:Normal BarcodeScanner camera, ARKit camera, BarcodeScanner camera after using ARKit. And also the project Github link,我已经更改了代码,所以现在它在读取任何 UPC 后给出模型。 还想补充一点,我认为问题可能出在 SceneExtensions.swift 中的设置函数中,但评论它不起作用。

UPD: 我通过添加将它聚焦在触摸上的功能使相机不会模糊太靠近它的所有东西并且当闪光灯打开时它开始工作.但是当它不工作时仍然没有工作。

UPD2: 它不仅适用于闪光灯,而且还适用于更好的照明,所以问题仍然在于对焦。我猜 smth 在 AR 会话期间发生了变化,但仍然不明白是什么。

UPD3:事实证明,如果照明良好,对焦相机功能会有所帮助,所以这是我找到的最佳解决方案。

解决了将 this function 添加到 BarcodeScanner 的问题。但仍然不知道为什么每次我在 ARCamera 屏幕后返回时相机都会失焦。