aboutsummaryrefslogtreecommitdiffstats
path: root/WireGuard/WireGuard/UI/iOS/QRScanViewController.swift
diff options
context:
space:
mode:
authorRoopesh Chander <roop@roopc.net>2018-11-01 02:14:30 +0530
committerRoopesh Chander <roop@roopc.net>2018-11-01 11:45:44 +0530
commitb96e5ae5630c156529cde29e9f2a16a62fdb1bfd (patch)
tree854d7505c9c9c74916038d4a09bea937c7cabb92 /WireGuard/WireGuard/UI/iOS/QRScanViewController.swift
parentRevert "QR code: QR code scanning is not available in the simulator" (diff)
downloadwireguard-apple-b96e5ae5630c156529cde29e9f2a16a62fdb1bfd.tar.xz
wireguard-apple-b96e5ae5630c156529cde29e9f2a16a62fdb1bfd.zip
QR code: Degrade gracefully when running on the simulator or on a device without a camera
Signed-off-by: Roopesh Chander <roop@roopc.net>
Diffstat (limited to '')
-rw-r--r--WireGuard/WireGuard/UI/iOS/QRScanViewController.swift11
1 files changed, 6 insertions, 5 deletions
diff --git a/WireGuard/WireGuard/UI/iOS/QRScanViewController.swift b/WireGuard/WireGuard/UI/iOS/QRScanViewController.swift
index 21b50e9..ec397f6 100644
--- a/WireGuard/WireGuard/UI/iOS/QRScanViewController.swift
+++ b/WireGuard/WireGuard/UI/iOS/QRScanViewController.swift
@@ -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) {