Ios 用于捕获二维码的代码在Xcode8和Swift3中似乎无法正常工作

Ios 用于捕获二维码的代码在Xcode8和Swift3中似乎无法正常工作,ios,swift,avfoundation,swift3,ios10,Ios,Swift,Avfoundation,Swift3,Ios10,我正在尝试在Swift3和iOS 10测试版设备中使用AvCaptureMataOutputObjectsDelegate捕获二维码 但当设备的摄像头实际捕获二维码时,不会调用captureOutput函数 有人能解决这个问题吗?如果是这样,请让我知道如何修复和正常工作 谢谢 在Swift 3中实现AVCaptureMataOutputObjectsDelegate的方法头如下所示: func captureOutput(_ captureOutput: AVCaptureOutput!,

我正在尝试在Swift3和iOS 10测试版设备中使用AvCaptureMataOutputObjectsDelegate捕获二维码

但当设备的摄像头实际捕获二维码时,不会调用captureOutput函数

有人能解决这个问题吗?如果是这样,请让我知道如何修复和正常工作

谢谢


在Swift 3中实现AVCaptureMataOutputObjectsDelegate的方法头如下所示:

func captureOutput(_ captureOutput: AVCaptureOutput!,
                   didOutputMetadataObjects metadataObjects: [Any]!,
                   from connection: AVCaptureConnection!) {

[AnyObject]->[Any],我没有检查代码的其他部分,但至少您需要修复此问题。

在Swift 3中实现AvCaptureMataOutputObject的方法头如下所示:

func captureOutput(_ captureOutput: AVCaptureOutput!,
                   didOutputMetadataObjects metadataObjects: [Any]!,
                   from connection: AVCaptureConnection!) {
[AnyObject]->[Any],我没有检查代码的其他部分,但至少您需要修复此问题。

SWIFT 3:在我的情况下,此代码解决了问题:

旧的错误代码

正确答案

SWIFT 3:在我的情况下,此代码解决了问题:

旧的错误代码

正确答案


Swift 4中的委托方法

func metadataOutput(_ output: AVCaptureMetadataOutput, didOutput metadataObjects: [AVMetadataObject], from connection: AVCaptureConnection) {}

Swift 4中的委托方法

func metadataOutput(_ output: AVCaptureMetadataOutput, didOutput metadataObjects: [AVMetadataObject], from connection: AVCaptureConnection) {}

谢谢你的快速提及。我修正了这一点,它成功了!我真的很感谢你的帮助。很高兴知道。我认为快速发展正受到许多变化的阻碍,比如主要版本之间的方法头。谢谢你的快速提及。我修正了这一点,它成功了!我真的很感谢你的帮助。很高兴知道。我认为主要版本之间的方法头等更改的数量阻碍了快速开发
func metadataOutput(_ output: AVCaptureMetadataOutput, didOutput metadataObjects: [AVMetadataObject], from connection: AVCaptureConnection) {}