首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >尝试从苹果找到错误的AVCAM样本

尝试从苹果找到错误的AVCAM样本
EN

Stack Overflow用户
提问于 2017-08-14 06:04:47
回答 4查看 1.3K关注 0票数 10

当我尝试使用Xcode版本9.0beta 5 (9M202q)的示例AVCAM时。我发现了错误。

架构x86_64的未定义符号: 引用的"__T0So22AVCapturePhotoSettingsC12AVFoundation01_abC16SwiftNativeTypesACWP",:CameraViewController.o中的__T05AVCam20CameraViewControllerC12capturePhoto33_F53A4CF98D799BDDCA6C04BA14C549A1LLySo8UIButtonCFyycfU_ "__T012AVFoundation39_AVCapturePhotoSettingsSwiftNativeTypesPAAE016availablePreviewc11PixelFormatG0Says6UInt32VGfg",引用自:__T05AVCam20CameraViewControllerC12capturePhoto33_F53A4CF98D799BDDCA6C04BA14C549A1LLySo8UIButtonCFyycfU_ in CameraViewController.old:符号(S)未找到用于体系结构的x86_64 clang: x86_64: linker命令失败,退出代码1(使用-v查看调用)

有什么问题吗?怎么才能解决这个问题?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2017-08-24 12:32:47

2017年9月15日更新:

苹果的官方回应:

我们道歉。对于使用SWIFT3.2或SWIFT4.0的应用程序,一些AVFoundation捕获API (外部协议的公共扩展)在Xcode 9中被无意中标记为私有。以下AVFoundation API暂时不可用:

  • AVCaptureDevice.Format.supportedColorSpaces
  • AVCaptureDevice.supportedFlashModes
  • AVCapturePhotoOutput.availablePhotoPixelFormatTypes
  • AVCapturePhotoOutput.availableRawPhotoPixelFormatTypes
  • AVCapturePhotoSettings.availablePreviewPhotoPixelFormatTypes 作为解决办法,您可以使用这些API的SwiftPrivate版本,方法是在每个API前面加上双下划线(__)。例如,将AVCaptureDevice.Format.supportedColorSpaces更改为AVCaptureDevice.Format.__supportedColorSpaces

我可以确认使用__availablePreviewPhotoPixelFormatTypes修复了构建错误。

例如。

代码语言:javascript
复制
let settings = AVCapturePhotoSettings()
let previewPixelType = settings.__availablePreviewPhotoPixelFormatTypes.first!

来源:https://forums.developer.apple.com/thread/86810#259270

2017年9月14日更新:

Xcode 9.0GM (9A235)中再次发生问题。

提交新的bug报告以供参考:rdar://34420979

前任:

更新:修正了Xcode Beta 6。

为Xcode版本9.0beta 5 (9M202q)提交了一个bug报告rdar://33935456

票数 24
EN

Stack Overflow用户

发布于 2017-08-17 02:09:41

Xcode 9.0 beta 5 (9M202q)肯定与AVCam Swift修订版2017-06-06有问题。幸运的是,这个问题被隔离到了CameraViewController.swift中的这三行

代码语言:javascript
复制
if !photoSettings.availablePreviewPhotoPixelFormatTypes.isEmpty {
    photoSettings.previewPhotoFormat = [kCVPixelBufferPixelFormatTypeKey as String: photoSettings.availablePreviewPhotoPixelFormatTypes.first!]
}

注释掉上述代码,AVCam将在运行最新的iOS 11测试版的设备上编译并运行良好。

票数 9
EN

Stack Overflow用户

发布于 2017-08-15 21:26:47

这似乎是一个Xcode错误。示例代码在Xcode 9.0 beta版(9M136h)中构建得很好。向苹果报告为rdar://33903950。

最新消息:雷达现已关闭。问题是固定在Xcode 9.0 Beta 6 (9M214v)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45668293

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档