gpt4 book ai didi

ios - 即使相机权限被拒绝,当前 ARFrame 也不是零

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:05:19 25 4
gpt4 key购买 nike

我有一个 ARKit 应用程序,我需要在其中获取当前 ARFrame 对象的 capturedImage 并将其用于进一步处理。我的代码大致如下所示:

guard let frame = sceneView.session.currentFrame else {
return
}

someMethod(frame)

现在,我希望只有在设置 ARKit 的应用程序的前几毫秒内,或者如果此应用程序的相机权限被拒绝,帧才会为 nil。但是,当应用程序首次安装时,当我被询问时拒绝许可,我得到非零帧,其中每个像素都是黑色的。如果我再次运行该应用程序,我将得到应有的 nil 帧。这是错误还是背后有逻辑?

最佳答案

我的猜测是用于处理异步运行的权限的代码,并且在它完成之前我们得到了一些非零帧。
所以我在 viewDidLoad 中尝试了这个:

AVCaptureDevice.requestAccess(for: .video) { (permission) in
if !permission{
print("not permited")
}else{
print("permited")
self.scan = true
}
}

func renderer(_ renderer: SCNSceneRenderer, updateAtTime time: TimeInterval) {
if scan{
guard let frame = sceneView.session.currentFrame else {
return
}
//code
}
}

只有在用户授予许可的情况下,您才让您的代码运行。

关于ios - 即使相机权限被拒绝,当前 ARFrame 也不是零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48104008/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com