iOS 11 Xcode 9:CoreML 链接器命令失败,退出代码为 1(使用 -v 查看调用)
iOS 11 Xcode 9: CoreML linker command failed with exit code 1 (use -v to see invocation)
我正在尝试使用 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
构建架构
使用物理设备时的快照
我在Apple开发论坛上找到了解释,查看这个link
此bug稍后会修复(遗憾的是在ode 9 GM版本中仍然存在)。
引用苹果论坛,我们可以使用这个解决方法:
As a workaround you can use the SwiftPrivate versions of these API by prepending each API with double underscore (__
). For example, change AVCaptureDevice.Format.supportedColorSpaces
to AVCaptureDevice.Format.__supportedColorSpaces
.
我测试了它并且它有效,他们说这种解决方法被认为是合法的并且不被认为是 SPI 使用。
我正在尝试使用 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
构建架构
使用物理设备时的快照
我在Apple开发论坛上找到了解释,查看这个link
此bug稍后会修复(遗憾的是在ode 9 GM版本中仍然存在)。 引用苹果论坛,我们可以使用这个解决方法:
As a workaround you can use the SwiftPrivate versions of these API by prepending each API with double underscore (
__
). For example, changeAVCaptureDevice.Format.supportedColorSpaces
toAVCaptureDevice.Format.__supportedColorSpaces
.
我测试了它并且它有效,他们说这种解决方法被认为是合法的并且不被认为是 SPI 使用。