2
我正在iOS上使用QR码扫描仪应用程序,在代理方法captureOutput:didOutputMetadataObjects:fromConnection:
上获得输出AVCaptureOutput
。AVCaptureMetadataOutputObjectsDelegate在QR码扫描器中没有在swift 4中调用
它在swift 3上完美运行。在更新到xcode 9和swift 4之后,它停止工作。
我正在iOS上使用QR码扫描仪应用程序,在代理方法captureOutput:didOutputMetadataObjects:fromConnection:
上获得输出AVCaptureOutput
。AVCaptureMetadataOutputObjectsDelegate在QR码扫描器中没有在swift 4中调用
它在swift 3上完美运行。在更新到xcode 9和swift 4之后,它停止工作。
好的我找到了更新here。
研究发现,AVCaptureMetadataOutputObjectsDelegate
方法改变
从
captureOutput(_ captureOutput: AVCaptureOutput!, didOutputMetadataObjects metadataObjects: [Any]!, from connection: AVCaptureConnection!)
到
metadataOutput(_ output: AVCaptureMetadataOutput, didOutput metadataObjects: [AVMetadataObject], from connection: AVCaptureConnection)
改变此委托方法后,其现在的工作很好。
请注意,此方法的签名在转换为Swift 4后发生了变化(再次..),并且不会通过自动迁移检测/修复 - 与其他相机相关的回调不同。 – GK100