Xcode
iOS
Swift
swift4
swift3

Swift3からSwift4へのアップデートによるバーコード読み取りができない不具合について

はじめに

iPhone7の背面カメラでバーコードを読み取り、ISBN番号を取得するというプログラムを書いていました。
しかし、Swift3からSwift4にアップデートした結果、カメラの映像はリアルタイムで表示されるが、バーコードを読み取ることができなくなるという不具合が発生しました。
その不具合の解消方法について共有したいと思います。

開発環境 (アップデート時)

  • Xcode9
  • Swift4
  • iOS 10.0
  • iPhone7

不具合の解消方法

ただ単に、関数名が変わっていただけだった。

swift3

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

    }

上記を下記の関数に変えてやれば良い。

swift4

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

    }

参考URL

[Swift4 Xcode9]アップデートによるカメラの不具合(表示されない)