@objc func launchCoreML() {
let settings = AVCapturePhotoSettings()
let previewPixelType = settings.availablePreviewPhotoPixelFormatTypes.first
let previewFormat = [
kCVPixelBufferPixelFormatTypeKey as String: previewPixelType,
kCVPixelBufferWidthKey as String: 160,
kCVPixelBufferHeightKey as String: 160
] as [String : Any]
settings.previewPhotoFormat = previewFormat
cameraOutput.capturePhoto(with: settings, delegate: self)
}我说错了:
类型'AVCapturePhotoSettings‘的值没有成员'availablePreviewPhotoPixelFormat’。
我正在使用Xcode 9的beta版本。
发布于 2017-08-08 08:25:32
在beta 4中,它被重命名为__availablePreviewPhotoPixelFormat。我还没看过beta 5。
发布于 2020-09-23 15:28:29
在升级到Xcode 12.0之后,我也遇到了同样的问题
在最后的Xcode发行版: 12.0版(12A7209)中,settings.availablePreviewPhotoPixelFormatTypes又被更改为settings.__availablePreviewPhotoPixelFormatTypes。至少两年来,我一直在使用它而不用“重命名”。Thx @Matthijs Hollemans寻求帮助
编辑:这是官方对这一变化的回应:https://developer.apple.com/forums/thread/86810?answerId=259270022#259270022
这段代码编译OK。
let settings = AVCapturePhotoSettings()
guard let previewPixelType = settings.__availablePreviewPhotoPixelFormatTypes.first else { return }
let previewFormat = [
kCVPixelBufferPixelFormatTypeKey as String: previewPixelType,
kCVPixelBufferWidthKey as String: 160,
kCVPixelBufferHeightKey as String: 160
]
settings.previewPhotoFormat = previewFormat
output.capturePhoto(with: settings, delegate: self)发布于 2017-10-09 07:18:39
var photoSettings: AVCapturePhotoSettings
if #available(iOS 11.0, *) {
photoSettings = AVCapturePhotoSettings.init(format: [AVVideoCodecKey: AVVideoCodecType.jpeg])
} else {
// Fallback on earlier versions
photoSettings = AVCapturePhotoSettings()
if photoSettings.__availablePreviewPhotoPixelFormatTypes.count > 0 {
photoSettings.previewPhotoFormat = [kCVPixelBufferPixelFormatTypeKey as String : photoSettings.__availablePreviewPhotoPixelFormatTypes.first!]
}
}https://stackoverflow.com/questions/45560892
复制相似问题