我目前正在开发一个在Swift中使用实时摄影机视图的项目。我使用在GitHub上找到的一些代码为我提供了实时摄像机视图,它在运行Mojave的MacBook Pro上非常有效。我的所有文件都存储在外部硬盘上,因此我进入了iMac并开始在该项目上工作。我想我有两个不同版本的Xcode 10 beta,这可能是问题的一部分吗?基本上,此行在我的MacBook上工作正常,但在运行MacOS High Sierra 15版的iMac上却不行:
guard let pixelBuffer : CVPixelBuffer = sampleBuffer.imageBuffer else { return }
它给了我以下错误:
Value of type 'CMSampleBuffer' has no member 'imageBuffer'
但是,当在我的Macbook上打开完全相同的项目时,此方法将毫无问题。这可能是Xcode版本吗,还是因为我正在运行两个不同的macOS版本?
最佳答案
您仍然可以使用此功能:CMSampleBufferGetImageBuffer(_ sbuf: CMSampleBuffer)
获取CVPixelBuffer?
。
直接替换为:
guard let pixelBuffer: CVPixelBuffer = CMSampleBufferGetImageBuffer(sampleBuffer) else { return }