首页 > 解决方案 > Xcode 12 beta 6 中缺少 availableRawPhotoPixelFormatTypes

问题描述

我得到以下片段:

let newPhotoSettings = AVCapturePhotoSettings(rawPixelFormatType: OSType(self.photoOutput.availableRawPhotoPixelFormatTypes.first!), processedFormat: nil)

当我在 Xcode 12 beta 6 中构建时,出现以下错误:

Value of type 'AVCapturePhotoOutput' has no member 'availableRawPhotoPixelFormatTypes'

当我检查 API 文档(此处)时,它并未显示availableRawPhotoPixelFormatTypes 为已弃用。

其他人有这个问题吗?

更新

仅当我尝试为主屏幕小部件呈现 SwiftUI 预览时,才会出现上述错误。如果我正常运行该项目,它运行得非常好,没有错误。

此外,对于预览像素类型,我也遇到了同样的错误:

photoSettings.previewPhotoFormat = [kCVPixelBufferPixelFormatTypeKey as String: photoSettings.availablePreviewPhotoPixelFormatTypes[0]]

Value of type 'AVCapturePhotoSettings' has no member 'availablePreviewPhotoPixelFormatTypes'

标签: iosswiftxcodeavfoundationbeta

解决方案


看来这现在分为两个查询:

使用availableRawPhotoFileTypes获取支持的RAW文件类型,选择其中一种,然后用 . 询问对应支持的格式类型supportedRawPhotoPixelFormatTypes(for fileType: AVFileType)

我认为目前 iOS 仅支持 DNG 文件,但分离 API 可能更具前瞻性。


推荐阅读