Откройте представление, отсканировав QR-код в SwiftUI - PullRequest
0 голосов
/ 14 июля 2020

Я разрабатываю приложение для торговых автоматов и хочу идентифицировать каждый торговый автомат с помощью своего QR-кода. Я реализовал сканер QR-кода в своем приложении и использую sh сканер для запуска представления, в котором будут перечислены все предметы в конкретном торговом автомате, когда я сканирую QR-код справа.

import SwiftUI
import CodeScanner

struct MainMenuView: View {
    
    var body: some View {
        
        NavigationView {
        
            QrScanner()
            
        }
        
    }
}


struct MainMenuView_Previews: PreviewProvider {
    static var previews: some View {
        MainMenuView()
    }
}

struct QrScanner: View {
    
    @State private var isShowingScanner = false
    
    var body: some View {
        
        VStack {
            
            Button(action: {
                self.isShowingScanner = true
            }) {
                Image(systemName: "qrcode")
                    .resizable()
                    .frame(width: 32, height: 32)
            }.sheet(isPresented: $isShowingScanner) {
                CodeScannerView(codeTypes: [.qr], completion: self.handleScan)
            }
        }
    }
    
    func handleScan(result: Result<String, CodeScannerView.ScanError>) {
        
        self.isShowingScanner = false
        
        switch result {
            
        case .success(let code):
            
            
      
        case .failure(let error):
            
            print("Scanning failed")
            
        }
        
    }
    
}

...