From 2690555bc18e6ddbc8677960e074f302b62c0e1a Mon Sep 17 00:00:00 2001 From: Le Hau Date: Sun, 5 Jun 2022 19:37:38 +0700 Subject: [PATCH] fix: stop camera after unmount --- example/ios/Podfile.lock | 4 ++-- ios/CardScanner/CardScannerView.swift | 9 +++++++++ package.json | 2 +- 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/example/ios/Podfile.lock b/example/ios/Podfile.lock index 48e3875..9e4e35b 100644 --- a/example/ios/Podfile.lock +++ b/example/ios/Podfile.lock @@ -353,7 +353,7 @@ PODS: - React-jsi (= 0.68.2) - React-logger (= 0.68.2) - React-perflogger (= 0.68.2) - - RNCardScanner (1.0.8): + - RNCardScanner (1.1.0): - React-Core - RNScreens (3.13.1): - React-Core @@ -556,7 +556,7 @@ SPEC CHECKSUMS: React-RCTVibration: 79040b92bfa9c3c2d2cb4f57e981164ec7ab9374 React-runtimeexecutor: b960b687d2dfef0d3761fbb187e01812ebab8b23 ReactCommon: 095366164a276d91ea704ce53cb03825c487a3f2 - RNCardScanner: 96a9cb903996a92b4dc6f3aa10a0395f76bcd825 + RNCardScanner: bc942acf7604f36052fa4d7108717eb5c8db0ac5 RNScreens: 40a2cb40a02a609938137a1e0acfbf8fc9eebf19 SocketRocket: fccef3f9c5cedea1353a9ef6ada904fde10d6608 Yoga: 99652481fcd320aefa4a7ef90095b95acd181952 diff --git a/ios/CardScanner/CardScannerView.swift b/ios/CardScanner/CardScannerView.swift index 40755f8..c68ceb9 100644 --- a/ios/CardScanner/CardScannerView.swift +++ b/ios/CardScanner/CardScannerView.swift @@ -57,6 +57,15 @@ class CardScannerView : UIView, PayCardsRecognizerPlatformDelegate { recognizer.stopCamera() } + override func didMoveToWindow() { + super.didMoveToWindow() + let isVisible = (self.superview != nil) && (self.window != nil) + if(!isVisible) { + recognizer.stopCamera() + } + + } + required public init?(coder aDecoder: NSCoder) { fatalError( "init(coder:) has not been implemented" ) } diff --git a/package.json b/package.json index 66b4613..50389e5 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "rn-card-scanner", - "version": "1.0.9", + "version": "1.1.0", "description": "Credit card scanner for React Native", "main": "lib/commonjs/index", "module": "lib/module/index",