Dav*_*adi 10 xcode ios swift ios11
当我尝试使用Xcode版本9.0 beta 5(9M202q)的样本AVCAM swift时.我发现了错误.
对于架构x86_64的未定义的符号:
"__T0So22AVCapturePhotoSettingsC12AVFoundation01_abC16SwiftNativeTypesACWP",从引用:__T05AVCam20CameraViewControllerC12capturePhoto33_F53A4CF98D799BDDCA6C04BA14C549A1LLySo8UIButtonCFyycfU_在CameraViewController.o
"__T012AVFoundation39_AVCapturePhotoSettingsSwiftNativeTypesPAAE016availablePreviewc11PixelFormatG0Says6UInt32VGfg",从引用:__T05AVCam20CameraViewControllerC12capturePhoto33_F53A4CF98D799BDDCA6C04BA14C549A1LLySo8UIButtonCFyycfU_在CameraViewController.o LD:符号(多个)未找到架构x86_64的铛:错误:连接器命令与出口失败代码1(使用-v查看调用)
问题是什么?以及如何解决这个问题?
gbh*_*all 24
Apple的官方回应:
我们的歉意.对于使用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.
我可以确认使用__availablePreviewPhotoPixelFormatTypes修复构建错误.
例如
let settings = AVCapturePhotoSettings()
let previewPixelType = settings.__availablePreviewPhotoPixelFormatTypes.first!
Run Code Online (Sandbox Code Playgroud)
资料来源:https://forums.developer.apple.com/thread/86810#259270
问题在Xcode 9.0 GM(9A235)中重新出现.
提交新的bug报告供参考: rdar://34420979
以前:
更新:已在Xcode Beta 6中修复.
提交了rdar://33935456Xcode版本9.0 beta 5(9M202q)的错误报告.
Xcode 9.0 beta 5(9M202q)肯定存在AVCam Swift修订版2017-06-06的问题.幸运的是,问题与以下三条线隔离CameraViewController.swift:
if !photoSettings.availablePreviewPhotoPixelFormatTypes.isEmpty {
photoSettings.previewPhotoFormat = [kCVPixelBufferPixelFormatTypeKey as String: photoSettings.availablePreviewPhotoPixelFormatTypes.first!]
}
Run Code Online (Sandbox Code Playgroud)
注释掉上面的代码,AVCam将在运行最新iOS 11 beta的设备上编译并运行良好.
| 归档时间: |
|
| 查看次数: |
1175 次 |
| 最近记录: |