我正在尝试使用AVFoundation
这是我的代码:
@objc func didTapCameraView() {
self.cameraView.isUserInteractionEnabled = false
let settings = AVCapturePhotoSettings()
let previewPixelType = settings.availablePreviewPhotoPixelFormatTypes.first!
let previewFormat = [kCVPixelBufferPixelFormatTypeKey as String: previewPixelType,
kCVPixelBufferWidthKey as String: 160,
kCVPixelBufferHeightKey as String: 160]
settings.previewPhotoFormat = previewFormat
if flashControlState == .off {
settings.flashMode = .off
} else {
settings.flashMode = .on
}
cameraOutput.capturePhoto(with: settings, delegate: self)
}
但我每次都会遇到同样的错误。
如果我在方法中注释代码,那么它构建正常。 让我知道我错过了什么。
更新: 使用iPhone 6 iOS11
构建架构
使用物理设备时的快照
答案 0 :(得分:2)
我从Apple开发论坛找到了解释,请查看link
此错误将在稍后修复(不幸的是它仍然存在于ode 9 GM版本中)。 从Apple论坛引用,我们可以使用此解决方法:
作为一种解决方法,您可以通过在每个API前加双下划线(
__
)来使用这些API的SwiftPrivate版本。例如,将AVCaptureDevice.Format.supportedColorSpaces
更改为AVCaptureDevice.Format.__supportedColorSpaces
。
我测试了它并且它有效,并且他们说这种解决方法被认为是合法的并且不被认为是SPI使用。