]> git.ipfire.org Git - thirdparty/wireguard-apple.git/commitdiff
QR code: Degrade gracefully when running on the simulator or on a device without...
authorRoopesh Chander <roop@roopc.net>
Wed, 31 Oct 2018 20:44:30 +0000 (02:14 +0530)
committerRoopesh Chander <roop@roopc.net>
Thu, 1 Nov 2018 06:15:44 +0000 (11:45 +0530)
Signed-off-by: Roopesh Chander <roop@roopc.net>
WireGuard/WireGuard/UI/iOS/QRScanViewController.swift

index 21b50e9f348ffae8aa22fbcc7788e293fa43aec5..ec397f699a9f4697334a40bdae4422cb1f8008f6 100644 (file)
@@ -13,7 +13,7 @@ class QRScanViewController: UIViewController {
     weak var delegate: QRScanViewControllerDelegate?
     var captureSession: AVCaptureSession? = AVCaptureSession()
     let metadataOutput = AVCaptureMetadataOutput()
-    var previewLayer: AVCaptureVideoPreviewLayer!
+    var previewLayer: AVCaptureVideoPreviewLayer?
 
     override func viewDidLoad() {
         super.viewDidLoad()
@@ -50,10 +50,11 @@ class QRScanViewController: UIViewController {
         metadataOutput.setMetadataObjectsDelegate(self, queue: .main)
         metadataOutput.metadataObjectTypes = [.qr]
 
-        previewLayer = AVCaptureVideoPreviewLayer(session: captureSession)
+        let previewLayer = AVCaptureVideoPreviewLayer(session: captureSession)
         previewLayer.frame = view.layer.bounds
         previewLayer.videoGravity = .resizeAspectFill
         view.layer.insertSublayer(previewLayer, at: 0)
+        self.previewLayer = previewLayer
     }
 
     override func viewWillAppear(_ animated: Bool) {
@@ -75,7 +76,7 @@ class QRScanViewController: UIViewController {
     override func viewDidLayoutSubviews() {
         super.viewDidLayoutSubviews()
 
-        if let connection = previewLayer.connection {
+        if let connection = previewLayer?.connection {
 
             let currentDevice: UIDevice = UIDevice.current
 
@@ -100,8 +101,8 @@ class QRScanViewController: UIViewController {
                 }
             }
         }
-        
-        previewLayer.frame = self.view.bounds
+
+        previewLayer?.frame = self.view.bounds
     }
 
     func scanDidComplete(withCode code: String) {