当我尝试使用Xcode 9.0 beta 5(9M202q)进行示例AVCAM swift时。我发现了错误。
对于架构x86_64的未定义的符号: “__T0So22AVCapturePhotoSettingsC12AVFoundation01_abC16SwiftNativeTypesACWP”,从引用:在CameraViewController.o __T05AVCam20CameraViewControllerC12capturePhoto33_F53A4CF98D799BDDCA6C04BA14C549A1LLySo8UIButtonCFyycfU_ 找不到架构x86_64的铛符号(S):“__T012AVFoundation39_AVCapturePhotoSettingsSwiftNativeTypesPAAE016availablePreviewc11PixelFormatG0Says6UInt32VGfg”,从引用:在CameraViewController.o LD __T05AVCam20CameraViewControllerC12capturePhoto33_F53A4CF98D799BDDCA6C04BA14C549A1LLySo8UIButtonCFyycfU_错误:接头命令与出口失败代码1(使用- v查看调用)
对于架构x86_64的未定义的符号:
“__T0So22AVCapturePhotoSettingsC12AVFoundation01_abC16SwiftNativeTypesACWP”,从引用:在CameraViewController.o __T05AVCam20CameraViewControllerC12capturePhoto33_F53A4CF98D799BDDCA6C04BA14C549A1LLySo8UIButtonCFyycfU_
找不到架构x86_64的铛符号(S):“__T012AVFoundation39_AVCapturePhotoSettingsSwiftNativeTypesPAAE016availablePreviewc11PixelFormatG0Says6UInt32VGfg”,从引用:在CameraViewController.o LD __T05AVCam20CameraViewControllerC12capturePhoto33_F53A4CF98D799BDDCA6C04BA14C549A1LLySo8UIButtonCFyycfU_错误:接头命令与出口失败代码1(使用- v查看调用)
问题是什么?以及如何解决?
苹果官方回应:
我们的歉意。对于使用Swift 3.2或Swift 4.0的应用程序,一些AVFoundation捕获API(外部协议的公共扩展)在Xcode 9中被无意中标记为私有。以下AVFoundation API暂时不可用: AVCaptureDevice.Format.supportedColorSpaces AVCaptureDevice.supportedFlashModes AVCapturePhotoOutput.availablePhotoPixelFormatTypes AVCapturePhotoOutput.availableRawPhotoPixelFormatTypes AVCapturePhotoSettings.availablePreviewPhotoPixelFormatTypes 作为解决方法,您可以通过在每个API前面加上双下划线(__)来使用这些API的SwiftPrivate版本。例如,更改AVCaptureDevice.Format.supportedColorSpaces为 AVCaptureDevice.Format.__supportedColorSpaces。
我们的歉意。对于使用Swift 3.2或Swift 4.0的应用程序,一些AVFoundation捕获API(外部协议的公共扩展)在Xcode 9中被无意中标记为私有。以下AVFoundation API暂时不可用:
AVCaptureDevice.Format.supportedColorSpaces
AVCaptureDevice.supportedFlashModes
AVCapturePhotoOutput.availablePhotoPixelFormatTypes
AVCapturePhotoOutput.availableRawPhotoPixelFormatTypes
AVCapturePhotoSettings.availablePreviewPhotoPixelFormatTypes
作为解决方法,您可以通过在每个API前面加上双下划线(__)来使用这些API的SwiftPrivate版本。例如,更改AVCaptureDevice.Format.supportedColorSpaces为 AVCaptureDevice.Format.__supportedColorSpaces。
__
AVCaptureDevice.Format.__supportedColorSpaces
我可以确认使用__availablePreviewPhotoPixelFormatTypes修复程序生成错误。
__availablePreviewPhotoPixelFormatTypes
例如
let settings = AVCapturePhotoSettings() let previewPixelType = settings.__availablePreviewPhotoPixelFormatTypes.first!
资料来源:https : //forums.developer.apple.com/thread/86810#259270
问题在 Xcode 9.0 GM(9A235)中 再次发生。
提交了新的错误报告以供参考: rdar://34420979
rdar://34420979
以前:
更新:Xcode Beta 6中已修复。
提交了rdar://33935456有关Xcode 9.0 beta 5(9M202q)的错误报告。
rdar://33935456