Как остановить captureOutput в приложении iOS
Я нашел учебник по работе с QR-кодами - вот он. Используя этот метод, я могу получить изображение с камеры устройства и найти там QR-код.
Проблема в том, что когда я меняю 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.