iOS 11 Xcode 9:CoreML链接器命令失败,退出代码为1(使用-v查看调用)

时间:2017-09-21 05:19:41

标签: ios swift avfoundation xcode9

我正在尝试使用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)
}

但我每次都会遇到同样的错误。

enter image description here

如果我在方法中注释代码,那么它构建正常。 让我知道我错过了什么。

更新: 使用iPhone 6 iOS11

构建架构

enter image description here

使用物理设备时的快照

enter image description here

1 个答案:

答案 0 :(得分:2)

我从Apple开发论坛找到了解释,请查看link

此错误将在稍后修复(不幸的是它仍然存在于ode 9 GM版本中)。 从Apple论坛引用,我们可以使用此解决方法:

  

作为一种解决方法,您可以通过在每个API前加双下划线(__)来使用这些API的SwiftPrivate版本。例如,将AVCaptureDevice.Format.supportedColorSpaces更改为AVCaptureDevice.Format.__supportedColorSpaces

我测试了它并且它有效,并且他们说这种解决方法被认为是合法的并且不被认为是SPI使用。