1回だけQRコードを読み取りたい
やりたいこと
タイトルの通り、1度だけQRコードを読み取り処理を行いたいのですが
リーダの範囲にQRコードがあるかぎり連続で読み込んでしまい処理がうまく行きません。
1度読み込み結果が出た際に読み込みを止めたいのですが、どのようにすればよいでしょうか。
コード
class QRCodeReaderVC: UIViewController, AVCaptureMetadataOutputObjectsDelegate {
var mySession: AVCaptureSession! = AVCaptureSession()
override func viewDidLoad() {
super.viewDidLoad()
...
do {
let myVideoInput = try AVCaptureDeviceInput(device: myDevice)
mySession.addInput(myVideoInput)
} catch {}
let myMetadataOutput: AVCaptureMetadataOutput! = AVCaptureMetadataOutput()
...
mySession.startRunning()
}
func captureOutput(captureOutput: AVCaptureOutput!, didOutputMetadataObjects metadataObjects: [AnyObject]!, fromConnection connection: AVCaptureConnection!) {
if metadataObjects.count > 0 {
let qrData: AVMetadataMachineReadableCodeObject = metadataObjects[0] as! AVMetadataMachineReadableCodeObject
let nextVC = storyboard?.instantiateViewControllerWithIdentifier("SecondView") as! SecondViewController
self.navigationController?.pushViewController(nextVC, animated: true)
}
}
}