diff --git a/plugins/nfc/ios/Sources/NfcPlugin.swift b/plugins/nfc/ios/Sources/NfcPlugin.swift index 90e5c22c..76bd77f1 100644 --- a/plugins/nfc/ios/Sources/NfcPlugin.swift +++ b/plugins/nfc/ios/Sources/NfcPlugin.swift @@ -273,16 +273,20 @@ class NfcPlugin: Plugin, NFCTagReaderSessionDelegate, NFCNDEFReaderSessionDelega return tag } - @objc public func scanNdef(_ invoke: Invoke) { - DispatchQueue.main.async { [self] in - self.startScanSession(invoke: invoke, kind: .ndef) - } - } - - @objc public func scanTag(_ invoke: Invoke) { - DispatchQueue.main.async { [self] in - self.startScanSession(invoke: invoke, kind: .tag) + @objc public func scan(_ invoke: Invoke) { + let kind: ScanKind + switch invoke.getString("kind") { + case "tag": + kind = .tag + break + case "ndef": + kind = .ndef + break + default: + invoke.reject("invalid `kind` argument, expected one of `tag`, `ndef`.") + return } + self.startScanSession(invoke: invoke, kind: kind) } private func startScanSession(invoke: Invoke, kind: ScanKind) {