2016-05-24 7 views
1

zu stoppen fand ich Tutorial mit QR-Codes für die Arbeit - here it is. Mit dieser Methode kann ich ein Bild von der Gerätekamera bekommen und QR-Code dort finden.Wie captureOutput in iOS-App

Das Problem ist, dass, wenn ich Viewcontroller ändern und sogar die AVCaptureSession zu stoppen - es scheint, dass meine Kamera noch funktioniert und Gerät für QR-Code sucht. Wie sollte ich die captureOutput-Methode deaktivieren?

Antwort

1

ich das Demo-Projekt heruntergeladen und

self.captureSession?.stopRunning() 

funktioniert gut für mich tun

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() 

ich zu Beginn dieser Funktion einen Haltepunkt gesetzt und es wird nicht mehr genannt sobald der erste QRCode gefunden wurde.

+0

dass auch für mich funktioniert, und wenn Druck captureSession? Es .running gleich auf false gesetzt. Aber wenn ich QR Code hinter meiner Kamera setzen - es meldet mir immer noch, dass QR-Code ist. – moonvader

+0

@moonvader ich die Antwort aktualisiert, wenn es nicht hilft, können Sie den genauen Code schreiben Sie verwenden? – 4oby

+0

ich herausgefunden, was das Problem war - Code in Ordnung ist. – moonvader

Verwandte Themen