@@ -12,7 +12,7 @@ import UIKit
1212@available ( macCatalyst 14 . 0 , * )
1313extension CodeScannerView {
1414
15- public class ScannerViewController : UIViewController , UIImagePickerControllerDelegate , UINavigationControllerDelegate , UIAdaptivePresentationControllerDelegate {
15+ public class ScannerViewController : UIViewController , UINavigationControllerDelegate , UIAdaptivePresentationControllerDelegate {
1616 private let photoOutput = AVCapturePhotoOutput ( )
1717 private var isCapturing = false
1818 private var handler : ( ( UIImage ) -> Void ) ?
@@ -56,45 +56,6 @@ extension CodeScannerView {
5656 openGallery ( )
5757 }
5858
59- public func imagePickerController( _ picker: UIImagePickerController , didFinishPickingMediaWithInfo info: [ UIImagePickerController . InfoKey : Any ] ) {
60- isGalleryShowing = false
61-
62- if let qrcodeImg = info [ . originalImage] as? UIImage {
63- let detector = CIDetector ( ofType: CIDetectorTypeQRCode, context: nil , options: [ CIDetectorAccuracy: CIDetectorAccuracyHigh] ) !
64- let ciImage = CIImage ( image: qrcodeImg) !
65- var qrCodeLink = " "
66-
67- let features = detector. features ( in: ciImage)
68-
69- for feature in features as! [ CIQRCodeFeature ] {
70- qrCodeLink = feature. messageString!
71- if qrCodeLink == " " {
72- didFail ( reason: . badOutput)
73- } else {
74- let corners = [
75- feature. bottomLeft,
76- feature. bottomRight,
77- feature. topRight,
78- feature. topLeft
79- ]
80- let result = ScanResult ( string: qrCodeLink, type: . qr, image: qrcodeImg, corners: corners)
81- found ( result)
82- }
83-
84- }
85-
86- } else {
87- print ( " Something went wrong " )
88- }
89-
90- dismiss ( animated: true , completion: nil )
91- }
92-
93- public func imagePickerControllerDidCancel( _ picker: UIImagePickerController ) {
94- isGalleryShowing = false
95- dismiss ( animated: true , completion: nil )
96- }
97-
9859 public func presentationControllerDidDismiss( _ presentationController: UIPresentationController ) {
9960 // Gallery is no longer being presented
10061 isGalleryShowing = false
@@ -520,6 +481,49 @@ extension CodeScannerView.ScannerViewController: AVCaptureMetadataOutputObjectsD
520481 }
521482}
522483
484+ // MARK: - UIImagePickerControllerDelegate
485+
486+ extension CodeScannerView . ScannerViewController : UIImagePickerControllerDelegate {
487+ public func imagePickerController( _ picker: UIImagePickerController , didFinishPickingMediaWithInfo info: [ UIImagePickerController . InfoKey : Any ] ) {
488+ isGalleryShowing = false
489+
490+ if let qrcodeImg = info [ . originalImage] as? UIImage {
491+ let detector = CIDetector ( ofType: CIDetectorTypeQRCode, context: nil , options: [ CIDetectorAccuracy: CIDetectorAccuracyHigh] ) !
492+ let ciImage = CIImage ( image: qrcodeImg) !
493+ var qrCodeLink = " "
494+
495+ let features = detector. features ( in: ciImage)
496+
497+ for feature in features as! [ CIQRCodeFeature ] {
498+ qrCodeLink = feature. messageString!
499+ if qrCodeLink == " " {
500+ didFail ( reason: . badOutput)
501+ } else {
502+ let corners = [
503+ feature. bottomLeft,
504+ feature. bottomRight,
505+ feature. topRight,
506+ feature. topLeft
507+ ]
508+ let result = ScanResult ( string: qrCodeLink, type: . qr, image: qrcodeImg, corners: corners)
509+ found ( result)
510+ }
511+
512+ }
513+
514+ } else {
515+ print ( " Something went wrong " )
516+ }
517+
518+ dismiss ( animated: true , completion: nil )
519+ }
520+
521+ public func imagePickerControllerDidCancel( _ picker: UIImagePickerController ) {
522+ isGalleryShowing = false
523+ dismiss ( animated: true , completion: nil )
524+ }
525+ }
526+
523527@available ( macCatalyst 14 . 0 , * )
524528extension CodeScannerView . ScannerViewController : AVCapturePhotoCaptureDelegate {
525529
0 commit comments