2016-05-24 3 views
1

Я нашел учебное пособие для работы с QR-кодами - here it is. Используя этот метод, я могу получить изображение с камеры устройства и найти там QR-код.Как остановить captureOutput в приложении iOS

Проблема в том, что когда я меняю ViewController и даже останавливаю AVCaptureSession - кажется, что моя камера все еще работает, а устройство ищет QR-код. Итак, как мне отключить метод captureOutput?

ответ

1

Я скачал демо-проект и делать

self.captureSession?.stopRunning() 

прекрасно работает для меня

fullCode

func captureOutput(captureOutput: AVCaptureOutput!, didOutputMetadataObjects metadataObjects: [AnyObject]!, fromConnection connection: AVCaptureConnection!) { 

     // Check if the metadataObjects array is not nil and it contains at least one object. 
     if metadataObjects == nil || metadataObjects.count == 0 { 
      qrCodeFrameView?.frame = CGRectZero 
      messageLabel.text = "No barcode/QR code is detected" 
      return 
     } 
       self.captureSession?.stopRunning() 

я поставил точку останова в начале этой функции, и это называется не больше как только обнаружен первый QRCode.

+0

Это тоже работает для меня, и если print captureSession ?.running это равно false. Но когда я ставил QR-код за моей камерой, он все равно уведомляет меня о том, что QR-код есть. – moonvader

+0

@moonvader Я обновил ответ, если это не поможет, можете ли вы разместить точный код, который используете? – 4oby

+0

Я узнал, в чем проблема: ваш код в порядке. – moonvader

Смежные вопросы