当前位置: 首页 > 面试题库 >

尝试从苹果找到AVCAM示例错误

胡元忠
2023-03-14
问题内容

当我尝试使用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查看调用)

问题是什么?以及如何解决?


问题答案:

2017年9月15日更新:

苹果官方回应:

我们的歉意。对于使用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!

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

2017年9月14日更新:

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

提交了新的错误报告以供参考: rdar://34420979

以前:

更新:Xcode Beta 6中已修复。

提交了rdar://33935456有关Xcode 9.0 beta 5(9M202q)的错误报告。



 类似资料:
  • 我正试图开始使用Rust FFI,所以我去了FFI上的nomicon留档,尝试复制“外国呼叫约定”示例。 我编写了一段简单的代码,只需复制粘贴示例,并尝试使用声明的函数: 这真的没有什么用处,我只是想看看我是否可以链接并调用一个函数,而不会让一切都爆炸。 我从编译器中得到这个错误: 这个例子过时了吗?我是不是漏掉了什么明显的东西?看起来不管怎样,我声明的应该在范围内。 我知道winapi板条箱,但

  • http://docs.oracle.com/javafx/2/text/neonsign.java.html当我试图在intelliJ中从oracle运行neonsign java示例时,出现了以下错误:

  • 本文向大家介绍C#多线程经典示例(吃苹果),包括了C#多线程经典示例(吃苹果)的使用技巧和注意事项,需要的朋友参考一下 本文主要讲述了多线程开发中经典示例,通过本示例,可以加深对多线程的理解。 示例概述: 下面用一个模拟吃苹果的实例,说明C#中多线程的实现方法。要求开发一个程序实现如下情况:一个家庭有三个孩子,爸爸妈妈不断削苹果往盘子里面放,老大、老二、老三不断从盘子里面取苹果吃。盘子的大小有限,

  • 我的服务器工作正常,直到昨天才恢复正常。今天我运行命令 我得到一个响应:远程:未找到存储库。我运行命令 我得到的回应是:嗨!您已成功通过身份验证,但GitHub不提供shell访问权限。 我甚至在这里添加了配置文件 https://help.github.com/en/github/authenticating-to-github/using-ssh-over-the-https-port 仍然不

  • 我什么都试过了,但我不知道从这里走到哪里去。当我调用命令时,我得到以下信息: 在最后。 我试着定位vsvarsall.bat并设置路径。我似乎在C:\Program Files(x86)\Microsoft Visual Studio 14.0\Common7\Tools中找不到它,而且在C:\Program Files\Microsoft Visual Studio 12.0\Common7中没

  • 当我在安装react本机依赖项后尝试执行npm start时,我收到以下错误。你能指导我如何解决这个问题吗。 /home/rakesh95/desktop/rakesh/myfamilyplan/node_modules/bindings/bindings.js:135抛出错误;^