Barcode scanner plugin for flutter. Supports barcode scanning for Android and iOS

Overview

flutter_barcode_scanner

A plugin for Flutter apps that adds barcode scanning support on both Android and iOS.

pub package

Demo gif

Try example

Just clone or download the repository, open the project in Android Studio/ VS Code, open pubspec.yaml and click on Packages get. Connect device and hit run. To run on iPhone you need to run from Xcode first time and just make pod install in example/ios then run from Xcode.

Getting Started

Follow the steps for Android and iOS

PLEASE FOLLOW iOS STEPS CAREFULLY

Android

Don't worry, you don't need to do anything.

iOS - Requires Swift support

Deployment target : 12

1. Fresh start:

  1. Create a new flutter project. Please check for Include swift support for iOS code.
  2. After creating new flutter project open /ios project in Xcode and set minimum deployment target to 12 and set Swift version to 5.
  3. After setting up the deployment target and swift version, close the Xcode then run pod install in /ios in flutter project.

You have done with basic configuration now proceed to section How to use.

2. Adding to existing flutter app:

If your existing ios code is Swift then you just need to do following.

  1. Set minimum deployment target to 12 and set Swift version to 5.
  2. Close the Xcode and run pod install in /ios in flutter project.
  3. Now proceed to section How to use.

If your existing ios code is Objective-C then you need to do following.

  1. Create a new flutter project with same name at different location (Don't forget to check Include swift support for iOS code while creating)
  2. Just copy newly created /ios folder from project and replace with existing /ios.
  3. Open ios project in Xcode and set minimum deployment target to 12 and set Swift version to 5.
  4. Run pod install in /ios

Note: If you did any changes in ios part before, you might need to make these configuration again

How to use ?

To use on iOS, you will need to add the camera usage description. To do that open the Xcode and add camera usage description in Info.plist.

<key>NSCameraUsageDescription</key>
<string>Camera permission is required for barcode scanning.</string>

After making the changes in Android ans iOS add flutter_barcode_scanner to pubspec.yaml

dependencies:
  ...
  flutter_barcode_scanner: ^2.0.0

One time scan

  1. You need to import the package first.
import 'package:flutter_barcode_scanner/flutter_barcode_scanner.dart';
  1. Then use the scanBarcode method to access barcode scanning.
String barcodeScanRes = await FlutterBarcodeScanner.scanBarcode(
                                                    COLOR_CODE, 
                                                    CANCEL_BUTTON_TEXT, 
                                                    isShowFlashIcon, 
                                                    scanMode);

Here in scanBarcode,

COLOR_CODE is hex-color which is the color of line in barcode overlay you can pass color of your choice,

CANCEL_BUTTON_TEXT is a text of cancel button on screen you can pass text of your choice and language,

isShowFlashIcon is bool value used to show or hide the flash icon,

scanMode is a enum in which user can pass any of { QR, BARCODE, DEFAULT }, if nothing is passed it will consider a default value which will be QR. It shows the graphics overlay like for barcode and QR.

NOTE: Currently, scanMode is just to show the graphics overlay for barcode and QR. Any of this mode selected will scan both QR and barcode.

Continuous scan

  • If you need to scan barcodes continuously without closing camera use FlutterBarcodeScanner.getBarcodeStreamReceiver params will be same like FlutterBarcodeScanner.scanBarcode e.g.
FlutterBarcodeScanner.getBarcodeStreamReceiver("#ff6666", "Cancel", false, ScanMode.DEFAULT)
         .listen((barcode) { 
         /// barcode to be used
         });

Contribution:

would ❤️ to see any contribution, give if you like

Contact:

E-mail: [email protected]

Comments
  • Do not close the scanning activity after every scan.

    Do not close the scanning activity after every scan.

    Is your feature request related to a problem? Please describe. My customers need a way to scan products quickly, thus meaning that they need the activity to stay open after a scan has happened so that they can scan the next item.

    Describe the solution you'd like Give an optional parameter for closing the scan activity after every scan.

    Describe alternatives you've considered None that I can think of.

    Additional context None.

    enhancement resolved iOS Android 
    opened by Baileypollard 27
  • Flash icon is not showing

    Flash icon is not showing

    Flash icon is not showing.

    Its showing F...h in the place of icon. I hope this is a known issue as i can see the change log 0.1.2 mentions its fixed for some devices.

    Im facing this problem on iPhone 7 plus with iOS 13.4.1

    WhatsApp Image 2020-05-26 at 7 10 56 PM

    high-priority resolved iOS under-evaluation 
    opened by rickmrobin 17
  • Flutter v1.12.13+hotfix.5, bug on compile

    Flutter v1.12.13+hotfix.5, bug on compile

    Hi.

    This package ran very well, but in the new version of Flutter, it has been a problem compiling and running.

    Flutter v1.12.13+hotfix.5 Dart 2.7.0

    Tanks

    resolved iOS Android 
    opened by LuizLeite 16
  • Build Fails

    Build Fails

    when trying to build the example project. I get this.

    Xcode's output: ↳ error: Unexpected duplicate tasks: 1) Target 'flutter_barcode_scanner' (project 'Pods') has copy command from '/Users/irperera/Developer/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_barcode_scanner-0.1.7/ios/Classes/resource.bundle/ic_flash_on.png' to '/Users/irperera/Developer/flutterProjects/flutter_barcodec/build/ios/Debug-iphoneos/flutter_barcode_scanner/flutter_barcode_scanner.framework/ic_flash_on.png' 2) Target 'flutter_barcode_scanner' (project 'Pods') has copy command from '/Users/irperera/Developer/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_barcode_scanner-0.1.7/ios/Classes/resource.bundle/ic_flash_on.png' to '/Users/irperera/Developer/flutterProjects/flutter_barcodec/build/ios/Debug-iphoneos/flutter_barcode_scanner/flutter_barcode_scanner.framework/ic_flash_on.png' error: Unexpected duplicate tasks: 1) Target 'flutter_barcode_scanner' (project 'Pods') has copy command from '/Users/irperera/Developer/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_barcode_scanner-0.1.7/ios/Classes/resource.bundle/ic_flash_off.png' to '/Users/irperera/Developer/flutterProjects/flutter_barcodec/build/ios/Debug-iphoneos/flutter_barcode_scanner/flutter_barcode_scanner.framework/ic_flash_off.png' 2) Target 'flutter_barcode_scanner' (project 'Pods') has copy command from '/Users/irperera/Developer/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_barcode_scanner-0.1.7/ios/Classes/resource.bundle/ic_flash_off.png' to '/Users/irperera/Developer/flutterProjects/flutter_barcodec/build/ios/Debug-iphoneos/flutter_barcode_scanner/flutter_barcode_scanner.framework/ic_flash_off.png' note: Using new build systemnote: Planning buildnote: Constructing build description

    Could not build the precompiled application for the device.

    Error launching application on iPhone.

    bug resolved iOS 
    opened by irperera 16
  • App Crashing After Close Camera

    App Crashing After Close Camera

    When I press button EXIT, my app force close. Please help me My Code: Future scanBarcodeNormal() async { String barcodeScanRes; try { barcodeScanRes = await FlutterBarcodeScanner.scanBarcode( "#ff6666", "EXIT", true, ScanMode.BARCODE); if (barcodeScanRes != "-1") { print(barcodeScanRes); } } on PlatformException { barcodeScanRes = 'Failed to get platform version.'; } if (!mounted) return; setState(() { }); } Here my error: E/AndroidRuntime(21975): FATAL EXCEPTION: main E/AndroidRuntime(21975): Process: abc.test, PID: 21975 E/AndroidRuntime(21975): java.lang.RuntimeException: Unable to destroy activity {abc.test/com.amolg.flutterbarcodescanner.BarcodeCaptureActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.Thread$State java.lang.Thread.getState()' on a null object reference E/AndroidRuntime(21975): at android.app.ActivityThread.performDestroyActivity(ActivityThread.java:4167) E/AndroidRuntime(21975): at android.app.ActivityThread.handleDestroyActivity(ActivityThread.java:4185) E/AndroidRuntime(21975): at android.app.ActivityThread.-wrap6(ActivityThread.java) E/AndroidRuntime(21975): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1521) E/AndroidRuntime(21975): at android.os.Handler.dispatchMessage(Handler.java:102) E/AndroidRuntime(21975): at android.os.Looper.loop(Looper.java:154) E/AndroidRuntime(21975): at android.app.ActivityThread.main(ActivityThread.java:6077) E/AndroidRuntime(21975): at java.lang.reflect.Method.invoke(Native Method) E/AndroidRuntime(21975): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:866) E/AndroidRuntime(21975): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:756) E/AndroidRuntime(21975): Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.Thread$State java.lang.Thread.getState()' on a null object reference E/AndroidRuntime(21975): at com.amolg.flutterbarcodescanner.camera.CameraSource$FrameProcessingRunnable.release(CameraSource.java:967) E/AndroidRuntime(21975): at com.amolg.flutterbarcodescanner.camera.CameraSource.release(CameraSource.java:273) E/AndroidRuntime(21975): at com.amolg.flutterbarcodescanner.camera.CameraSourcePreview.release(CameraSourcePreview.java:84) E/AndroidRuntime(21975): at com.amolg.flutterbarcodescanner.BarcodeCaptureActivity.onDestroy(BarcodeCaptureActivity.java:266) E/AndroidRuntime(21975): at android.app.Activity.performDestroy(Activity.java:6864) E/AndroidRuntime(21975): at android.app.Instrumentation.callActivityOnDestroy(Instrumentation.java:1153) E/AndroidRuntime(21975): at android.app.ActivityThread.performDestroyActivity(ActivityThread.java:4154) E/AndroidRuntime(21975): ... 9 more

    opened by hohoan 13
  • App close after scanning barcode

    App close after scanning barcode

    Describe the bug I got error while scanning barcode. Barcode value is shown in dart log, but app is stopped. I dont know i wrong in implementation or that's a bug.

    Smartphone (please complete the following information):

    • Device: MI A1
    • OS: Android 9

    Log

    > FATAL EXCEPTION: main
        Process: com.mozdev.barcode_scan, PID: 15566
        java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=9001, result=0, data=Intent { (has extras) }} to activity {com.mozdev.barcode_scan/com.mozdev.barcode_scan.MainActivity}: java.lang.NullPointerException: Attempt to invoke interface method 'void io.flutter.plugin.common.MethodChannel$Result.success(java.lang.Object)' on a null object reference
            at android.app.ActivityThread.deliverResults(ActivityThread.java:4382)
            at android.app.ActivityThread.handleSendResult(ActivityThread.java:4424)
            at android.app.servertransaction.ActivityResultItem.execute(ActivityResultItem.java:49)
            at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108)
            at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1818)
            at android.os.Handler.dispatchMessage(Handler.java:106)
            at android.os.Looper.loop(Looper.java:193)
            at android.app.ActivityThread.main(ActivityThread.java:6762)
            at java.lang.reflect.Method.invoke(Native Method)
            at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
         Caused by: java.lang.NullPointerException: Attempt to invoke interface method 'void io.flutter.plugin.common.MethodChannel$Result.success(java.lang.Object)' on a null object reference
            at com.amolg.flutterbarcodescanner.FlutterBarcodeScannerPlugin.onActivityResult(FlutterBarcodeScannerPlugin.java:157)
            at io.flutter.embedding.engine.FlutterEnginePluginRegistry$FlutterEngineActivityPluginBinding.onActivityResult(FlutterEnginePluginRegistry.java:634)
            at io.flutter.embedding.engine.FlutterEnginePluginRegistry.onActivityResult(FlutterEnginePluginRegistry.java:367)
            at io.flutter.embedding.android.FlutterActivityAndFragmentDelegate.onActivityResult(FlutterActivityAndFragmentDelegate.java:546)
            at io.flutter.embedding.android.FlutterActivity.onActivityResult(FlutterActivity.java:594)
            at android.app.Activity.dispatchActivityResult(Activity.java:7454)
            at android.app.ActivityThread.deliverResults(ActivityThread.java:4375)
    
    

    Code

    Future<void> scanBarcodeNormal(BuildContext context) async {
        String barcodeScanRes;
        // Platform messages may fail, so we use a try/catch PlatformException.
        try {
          barcodeScanRes = await FlutterBarcodeScanner.scanBarcode(
              "#ff6666", "Cancel", true, ScanMode.BARCODE);
          print(barcodeScanRes);
        } on PlatformException {
          barcodeScanRes = 'Failed to get platform version.';
        }
    
        // If the widget was removed from the tree while the asynchronous platform
        // message was in flight, we want to discard the reply rather than calling
        // setState to update our non-existent appearance.
        if (!mounted) return;
    
        setState(() {
          _scanBarcode = barcodeScanRes;
        });
    }
    
    
    **Dart/Flutter Log**
    > I/flutter (17677): 8999909000711
    
    **Depedencies**
    pubspec.yaml
    
    flutter_barcode_scanner:
        git:
          url: git://github.com/AmolGangadhare/flutter_barcode_scanner.git
    
    resolved Android 
    opened by bontew 13
  • iOS build failed

    iOS build failed

    Describe the bug I want build ios release but it shows error from flutter_barcode_scanner. The way to reproduce it is by using flutter build -ios --release

    Building com.xxxxx for device (ios-release)...
    
    Automatically signing iOS for device deployment using specified development team in Xcode project: N7CVA637YZ
    
    Running Xcode build...                                                  
    
    Xcode build done.                                            3.6s
    Failed to build iOS app
    Error output from Xcode build:
    ↳
        ** BUILD FAILED **
    
    
    Xcode's output:
    ↳
        error: Unexpected duplicate tasks:
        1) Target 'flutter_barcode_scanner' (project 'Pods') has copy command from
        '/Users/raynne/Documents/Development/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_barcode_scanner-0.1.7/ios/Classes/resource.bundle/ic_flash_off.png'
        to
        '/Users/raynne/Documents/Development/Developments_SourceCode_20191007/kepong/build/ios/Release-iphoneos/flutter_barcode_scanner/flutter_ba
        rcode_scanner.framework/ic_flash_off.png'
        2) Target 'flutter_barcode_scanner' (project 'Pods') has copy command from
        '/Users/raynne/Documents/Development/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_barcode_scanner-0.1.7/ios/Classes/resource.bundle/ic_flash_off.png'
        to
        '/Users/raynne/Documents/Development/Developments_SourceCode_20191007/kepong/build/ios/Release-iphoneos/flutter_barcode_scanner/flutter_ba
        rcode_scanner.framework/ic_flash_off.png'
        error: Unexpected duplicate tasks:
        1) Target 'flutter_barcode_scanner' (project 'Pods') has copy command from
        '/Users/raynne/Documents/Development/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_barcode_scanner-0.1.7/ios/Classes/resource.bundle/ic_flash_on.png'
        to
        '/Users/raynne/Documents/Development/Developments_SourceCode_20191007/kepong/build/ios/Release-iphoneos/flutter_barcode_scanner/flutter_ba
        rcode_scanner.framework/ic_flash_on.png'
        2) Target 'flutter_barcode_scanner' (project 'Pods') has copy command from
        '/Users/raynne/Documents/Development/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_barcode_scanner-0.1.7/ios/Classes/resource.bundle/ic_flash_on.png'
        to
        '/Users/raynne/Documents/Development/Developments_SourceCode_20191007/kepong/build/ios/Release-iphoneos/flutter_barcode_scanner/flutter_ba
        rcode_scanner.framework/ic_flash_on.png'
        note: Using new build system
        note: Planning build
        note: Constructing build description
    
    Encountered error while building for device.
    

    New Error Log After searching I saw some people stating that they are able to fixed it by changing their deployment target to 11.0. The way to reproduce it is changing my deployment target from 8.0 to 11.0.

    Building  com.xxxxx for device (ios-release)...
    Automatically signing iOS for device deployment using specified development team in Xcode project: N7CVA637YZ
    Running pod install...                                              2.2s
    Running Xcode build...                                                  
                                                       
    Xcode build done.                                            5.0s
    Failed to build iOS app
    Error output from Xcode build:
    ↳
        ** BUILD FAILED **
    
    
    Xcode's output:
    ↳
        /Users/raynne/Documents/Development/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_inappbrowser-1.2.1/ios/Classes/FlutterWebViewController.swift:52:46:
        warning: conditional downcast from 'String?' to 'String' does nothing
                    let data = (initialData!["data"] as? String)!
                                ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~
    
        /Users/raynne/Documents/Development/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_inappbrowser-1.2.1/ios/Classes/FlutterWebViewController.swift:53:54:
        warning: conditional downcast from 'String?' to 'String' does nothing
                    let mimeType = (initialData!["mimeType"] as? String)!
                                    ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~
    
        /Users/raynne/Documents/Development/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_inappbrowser-1.2.1/ios/Classes/FlutterWebViewController.swift:54:54:
        warning: conditional downcast from 'String?' to 'String' does nothing
                    let encoding = (initialData!["encoding"] as? String)!
                                    ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~
    
        /Users/raynne/Documents/Development/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_inappbrowser-1.2.1/ios/Classes/FlutterWebViewController.swift:55:52:
        warning: conditional downcast from 'String?' to 'String' does nothing
                    let baseUrl = (initialData!["baseUrl"] as? String)!
                                   ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~
    
        /Users/raynne/Documents/Development/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_inappbrowser-1.2.1/ios/Classes/FlutterWebViewController.swift:27:13:
        warning: initialization of immutable value 'initialOptions' was never used; consider replacing with assignment to '_' or removing it
                let initialOptions = (args["initialOptions"] as? [String: Any])!
                ~~~~^~~~~~~~~~~~~~
                _
        /Users/raynne/Documents/Development/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_inappbrowser-1.2.1/ios/Classes/FlutterWebViewController.swift:221:41
        : warning: result of call to 'parse(options:)' is unused
                            inAppWebViewOptions.parse(options: inAppWebViewOptionsMap)
                                                ^    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        /Users/raynne/Documents/Development/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_inappbrowser-1.2.1/ios/Classes/InAppBrowserWebViewController.swift:1
        75:114: error: 'NSLayoutAttribute' has been renamed to 'NSLayoutConstraint.Attribute'
                containerWebView_BottomFullScreenConstraint = NSLayoutConstraint(item: self.containerWebView, attribute: NSLayoutAttribute.bottom, relatedBy:
                NSLayoutRelation.equal, toItem: self.view, attribute: NSLayoutAttribute.bottom, multiplier: 1, constant: 0)
                                                                                                                         ^~~~~~~~~~~~~~~~~
                                                                                                                         NSLayoutConstraint.Attribute
        UIKit.NSLayoutAttribute:2:18: note: 'NSLayoutAttribute' was obsoleted in Swift 4.2
        public typealias NSLayoutAttribute = NSLayoutConstraint.Attribute
                         ^
        /Users/raynne/Documents/Development/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_inappbrowser-1.2.1/ios/Classes/InAppBrowserWebViewController.swift:1
        76:111: error: 'NSLayoutAttribute' has been renamed to 'NSLayoutConstraint.Attribute'
                containerWebView_TopFullScreenConstraint = NSLayoutConstraint(item: self.containerWebView, attribute: NSLayoutAttribute.top, relatedBy:
                NSLayoutRelation.equal, toItem: self.view, attribute: NSLayoutAttribute.top, multiplier: 1, constant: 0)
                                                                                                                      ^~~~~~~~~~~~~~~~~
                                                                                                                      NSLayoutConstraint.Attribute
        UIKit.NSLayoutAttribute:2:18: note: 'NSLayoutAttribute' was obsoleted in Swift 4.2
        public typealias NSLayoutAttribute = NSLayoutConstraint.Attribute
                         ^
        /Users/raynne/Documents/Development/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_inappbrowser-1.2.1/ios/Classes/InAppBrowserWebViewController.swift:1
        79:47: warning: coercion of implicitly unwrappable value of type 'InAppWebView?' to 'Any' does not unwrap optional
                let height = NSLayoutConstraint(item: webView, attribute: .height, relatedBy: .equal, toItem: containerWebView, attribute: .height, multiplier: 1,
                constant: 0)
                                                      ^~~~~~~
        /Users/raynne/Documents/Development/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_inappbrowser-1.2.1/ios/Classes/InAppBrowserWebViewController.swift:9
        3:9: note: implicitly unwrapped property 'webView' declared here
            var webView: InAppWebView!
                ^
        /Users/raynne/Documents/Development/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_inappbrowser-1.2.1/ios/Classes/InAppBrowserWebViewController.swift:1
        79:47: note: provide a default value to avoid this warning
                let height = NSLayoutConstraint(item: webView, attribute: .height, relatedBy: .equal, toItem: containerWebView, attribute: .height, multiplier: 1,
                constant: 0)
                                                      ^~~~~~~
                                                              ?? <#default value#>
        /Users/raynne/Documents/Development/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_inappbrowser-1.2.1/ios/Classes/InAppBrowserWebViewController.swift:1
        79:47: note: force-unwrap the value to avoid this warning
                let height = NSLayoutConstraint(item: webView, attribute: .height, relatedBy: .equal, toItem: containerWebView, attribute: .height, multiplier: 1,
                constant: 0)
                                                      ^~~~~~~
                                                             !
        /Users/raynne/Documents/Development/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_inappbrowser-1.2.1/ios/Classes/InAppBrowserWebViewController.swift:1
        79:47: note: explicitly cast to 'Any' with 'as Any' to silence this warning
                let height = NSLayoutConstraint(item: webView, attribute: .height, relatedBy: .equal, toItem: containerWebView, attribute: .height, multiplier: 1,
                constant: 0)
                                                      ^~~~~~~
                                                              as Any
        /Users/raynne/Documents/Development/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_inappbrowser-1.2.1/ios/Classes/InAppBrowserWebViewController.swift:1
        80:46: warning: coercion of implicitly unwrappable value of type 'InAppWebView?' to 'Any' does not unwrap optional
                let width = NSLayoutConstraint(item: webView, attribute: .width, relatedBy: .equal, toItem: containerWebView, attribute: .width, multiplier: 1,
                constant: 0)
                                                     ^~~~~~~
        /Users/raynne/Documents/Development/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_inappbrowser-1.2.1/ios/Classes/InAppBrowserWebViewController.swift:9
        3:9: note: implicitly unwrapped property 'webView' declared here
            var webView: InAppWebView!
                ^
        /Users/raynne/Documents/Development/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_inappbrowser-1.2.1/ios/Classes/InAppBrowserWebViewController.swift:1
        80:46: note: provide a default value to avoid this warning
                let width = NSLayoutConstraint(item: webView, attribute: .width, relatedBy: .equal, toItem: containerWebView, attribute: .width, multiplier: 1,
                constant: 0)
                                                     ^~~~~~~
                                                             ?? <#default value#>
        /Users/raynne/Documents/Development/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_inappbrowser-1.2.1/ios/Classes/InAppBrowserWebViewController.swift:1
        80:46: note: force-unwrap the value to avoid this warning
                let width = NSLayoutConstraint(item: webView, attribute: .width, relatedBy: .equal, toItem: containerWebView, attribute: .width, multiplier: 1,
                constant: 0)
                                                     ^~~~~~~
                                                            !
        /Users/raynne/Documents/Development/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_inappbrowser-1.2.1/ios/Classes/InAppBrowserWebViewController.swift:1
        80:46: note: explicitly cast to 'Any' with 'as Any' to silence this warning
                let width = NSLayoutConstraint(item: webView, attribute: .width, relatedBy: .equal, toItem: containerWebView, attribute: .width, multiplier: 1,
                constant: 0)
                                                     ^~~~~~~
                                                             as Any
        /Users/raynne/Documents/Development/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_inappbrowser-1.2.1/ios/Classes/InAppBrowserWebViewController.swift:1
        81:55: warning: coercion of implicitly unwrappable value of type 'InAppWebView?' to 'Any' does not unwrap optional
                let leftConstraint = NSLayoutConstraint(item: webView, attribute: .leftMargin, relatedBy: .equal, toItem: containerWebView, attribute: .leftMargin,
                multiplier: 1, constant: 0)
                                                              ^~~~~~~
        /Users/raynne/Documents/Development/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_inappbrowser-1.2.1/ios/Classes/InAppBrowserWebViewController.swift:9
        3:9: note: implicitly unwrapped property 'webView' declared here
            var webView: InAppWebView!
                ^
        /Users/raynne/Documents/Development/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_inappbrowser-1.2.1/ios/Classes/InAppBrowserWebViewController.swift:1
        81:55: note: provide a default value to avoid this warning
                let leftConstraint = NSLayoutConstraint(item: webView, attribute: .leftMargin, relatedBy: .equal, toItem: containerWebView, attribute: .leftMargin,
                multiplier: 1, constant: 0)
                                                              ^~~~~~~
                                                                      ?? <#default value#>
        /Users/raynne/Documents/Development/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_inappbrowser-1.2.1/ios/Classes/InAppBrowserWebViewController.swift:1
        81:55: note: force-unwrap the value to avoid this warning
                let leftConstraint = NSLayoutConstraint(item: webView, attribute: .leftMargin, relatedBy: .equal, toItem: containerWebView, attribute: .leftMargin,
                multiplier: 1, constant: 0)
                                                              ^~~~~~~
                                                                     !
        /Users/raynne/Documents/Development/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_inappbrowser-1.2.1/ios/Classes/InAppBrowserWebViewController.swift:1
        81:55: note: explicitly cast to 'Any' with 'as Any' to silence this warning
                let leftConstraint = NSLayoutConstraint(item: webView, attribute: .leftMargin, relatedBy: .equal, toItem: containerWebView, attribute: .leftMargin,
                multiplier: 1, constant: 0)
                                                              ^~~~~~~
                                                                      as Any
        /Users/raynne/Documents/Development/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_inappbrowser-1.2.1/ios/Classes/InAppBrowserWebViewController.swift:1
        82:56: warning: coercion of implicitly unwrappable value of type 'InAppWebView?' to 'Any' does not unwrap optional
                let rightConstraint = NSLayoutConstraint(item: webView, attribute: .rightMargin, relatedBy: .equal, toItem: containerWebView, attribute:
                .rightMargin, multiplier: 1, constant: 0)
                                                               ^~~~~~~
        /Users/raynne/Documents/Development/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_inappbrowser-1.2.1/ios/Classes/InAppBrowserWebViewController.swift:9
        3:9: note: implicitly unwrapped property 'webView' declared here
            var webView: InAppWebView!
                ^
        /Users/raynne/Documents/Development/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_inappbrowser-1.2.1/ios/Classes/InAppBrowserWebViewController.swift:1
        82:56: note: provide a default value to avoid this warning
                let rightConstraint = NSLayoutConstraint(item: webView, attribute: .rightMargin, relatedBy: .equal, toItem: containerWebView, attribute:
                .rightMargin, multiplier: 1, constant: 0)
                                                               ^~~~~~~
                                                                       ?? <#default value#>
        /Users/raynne/Documents/Development/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_inappbrowser-1.2.1/ios/Classes/InAppBrowserWebViewController.swift:1
        82:56: note: force-unwrap the value to avoid this warning
                let rightConstraint = NSLayoutConstraint(item: webView, attribute: .rightMargin, relatedBy: .equal, toItem: containerWebView, attribute:
                .rightMargin, multiplier: 1, constant: 0)
                                                               ^~~~~~~
                                                                      !
        /Users/raynne/Documents/Development/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_inappbrowser-1.2.1/ios/Classes/InAppBrowserWebViewController.swift:1
        82:56: note: explicitly cast to 'Any' with 'as Any' to silence this warning
                let rightConstraint = NSLayoutConstraint(item: webView, attribute: .rightMargin, relatedBy: .equal, toItem: containerWebView, attribute:
                .rightMargin, multiplier: 1, constant: 0)
                                                               ^~~~~~~
                                                                       as Any
        /Users/raynne/Documents/Development/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_inappbrowser-1.2.1/ios/Classes/InAppBrowserWebViewController.swift:1
        83:56: warning: coercion of implicitly unwrappable value of type 'InAppWebView?' to 'Any' does not unwrap optional
                let bottomContraint = NSLayoutConstraint(item: webView, attribute: .bottomMargin, relatedBy: .equal, toItem: containerWebView, attribute:
                .bottomMargin, multiplier: 1, constant: 0)
                                                               ^~~~~~~
        /Users/raynne/Documents/Development/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_inappbrowser-1.2.1/ios/Classes/InAppBrowserWebViewController.swift:9
        3:9: note: implicitly unwrapped property 'webView' declared here
            var webView: InAppWebView!
                ^
        /Users/raynne/Documents/Development/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_inappbrowser-1.2.1/ios/Classes/InAppBrowserWebViewController.swift:1
        83:56: note: provide a default value to avoid this warning
                let bottomContraint = NSLayoutConstraint(item: webView, attribute: .bottomMargin, relatedBy: .equal, toItem: containerWebView, attribute:
                .bottomMargin, multiplier: 1, constant: 0)
                                                               ^~~~~~~
                                                                       ?? <#default value#>
        /Users/raynne/Documents/Development/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_inappbrowser-1.2.1/ios/Classes/InAppBrowserWebViewController.swift:1
        83:56: note: force-unwrap the value to avoid this warning
                let bottomContraint = NSLayoutConstraint(item: webView, attribute: .bottomMargin, relatedBy: .equal, toItem: containerWebView, attribute:
                .bottomMargin, multiplier: 1, constant: 0)
                                                               ^~~~~~~
                                                                      !
        /Users/raynne/Documents/Development/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_inappbrowser-1.2.1/ios/Classes/InAppBrowserWebViewController.swift:1
        83:56: note: explicitly cast to 'Any' with 'as Any' to silence this warning
                let bottomContraint = NSLayoutConstraint(item: webView, attribute: .bottomMargin, relatedBy: .equal, toItem: containerWebView, attribute:
                .bottomMargin, multiplier: 1, constant: 0)
                                                               ^~~~~~~
                                                                       as Any
        /Users/raynne/Documents/Development/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_inappbrowser-1.2.1/ios/Classes/InAppBrowserWebViewController.swift:1
        86:96: error: 'NSLayoutAttribute' has been renamed to 'NSLayoutConstraint.Attribute'
                webView_BottomFullScreenConstraint = NSLayoutConstraint(item: self.webView, attribute: NSLayoutAttribute.bottom, relatedBy: NSLayoutRelation.equal,
                toItem: self.containerWebView, attribute: NSLayoutAttribute.bottom, multiplier: 1, constant: 0)
                                                                                                       ^~~~~~~~~~~~~~~~~
                                                                                                       NSLayoutConstraint.Attribute
        UIKit.NSLayoutAttribute:2:18: note: 'NSLayoutAttribute' was obsoleted in Swift 4.2
        public typealias NSLayoutAttribute = NSLayoutConstraint.Attribute
                         ^
        /Users/raynne/Documents/Development/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_inappbrowser-1.2.1/ios/Classes/InAppBrowserWebViewController.swift:1
        87:93: error: 'NSLayoutAttribute' has been renamed to 'NSLayoutConstraint.Attribute'
                webView_TopFullScreenConstraint = NSLayoutConstraint(item: self.webView, attribute: NSLayoutAttribute.top, relatedBy: NSLayoutRelation.equal, toItem:
                self.containerWebView, attribute: NSLayoutAttribute.top, multiplier: 1, constant: 0)
                                                                                                    ^~~~~~~~~~~~~~~~~
                                                                                                    NSLayoutConstraint.Attribute
        UIKit.NSLayoutAttribute:2:18: note: 'NSLayoutAttribute' was obsoleted in Swift 4.2
        public typealias NSLayoutAttribute = NSLayoutConstraint.Attribute
                         ^
        /Users/raynne/Documents/Development/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_inappbrowser-1.2.1/ios/Classes/InAppBrowserWebViewController.swift:2
        57:49: error: 'NSStringFromCGRect' has been replaced by 'NSCoder.string(for:)'
                print("Setting the WebView's frame to \(NSStringFromCGRect(frame))")
                                                        ^~~~~~~~~~~~~~~~~~
                                                        NSCoder.string     for: 
        UIKit.NSStringFromCGRect:2:13: note: 'NSStringFromCGRect' was obsoleted in Swift 3
        public func NSStringFromCGRect(_ rect: CGRect) -> String
                    ^
        /Users/raynne/Documents/Development/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_inappbrowser-1.2.1/ios/Classes/InAppBrowserWebViewController.swift:2
        79:51: error: cannot assign value of type 'Double' to type 'UIWindow.Level'
                            self.tmpWindow?.windowLevel = 0.0
                                                          ^~~
                                                          UIWindow.Level(rawValue:  )
        /Users/raynne/Documents/Development/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_inappbrowser-1.2.1/ios/Classes/InAppBrowserWebViewController.swift:2
        88:51: error: cannot assign value of type 'Double' to type 'UIWindow.Level'
                            self.tmpWindow?.windowLevel = 0.0
                                                          ^~~
                                                          UIWindow.Level(rawValue:  )
        /Users/raynne/Documents/Development/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_inappbrowser-1.2.1/ios/Classes/InAppBrowserWebViewController.swift:3
        77:32: warning: result of call to 'parse(options:)' is unused
                newInAppWebViewOptions.parse(options: newOptionsMap)
                                       ^    ~~~~~~~~~~~~~~~~~~~~~~~~
        /Users/raynne/Documents/Development/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_inappbrowser-1.2.1/ios/Classes/InAppWebView.swift:243:33: error:
        'UIImagePNGRepresentation' has been replaced by instance method 'UIImage.pngData()'
                            imageData = UIImagePNGRepresentation(screenshot)!
                                        ^~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~
                                        screenshot.pngData       
        UIKit.UIImagePNGRepresentation:2:13: note: 'UIImagePNGRepresentation' was obsoleted in Swift 3
        public func UIImagePNGRepresentation(_ image: UIImage) -> Data?
                    ^
        /Users/raynne/Documents/Development/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_inappbrowser-1.2.1/ios/Classes/InAppWebView.swift:759:27: warning:
        expression implicitly coerced from 'String?' to 'Any'
                            print((result as! FlutterError).message)
                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        /Users/raynne/Documents/Development/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_inappbrowser-1.2.1/ios/Classes/InAppWebView.swift:759:53: note:
        provide a default value to avoid this warning
                            print((result as! FlutterError).message)
                                  ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
                                                                    ?? <#default value#>
        /Users/raynne/Documents/Development/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_inappbrowser-1.2.1/ios/Classes/InAppWebView.swift:759:53: note:
        force-unwrap the value to avoid this warning
                            print((result as! FlutterError).message)
                                  ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
                                                                   !
        /Users/raynne/Documents/Development/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_inappbrowser-1.2.1/ios/Classes/InAppWebView.swift:759:53: note:
        explicitly cast to 'Any' with 'as Any' to silence this warning
                            print((result as! FlutterError).message)
                                  ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
                                                                    as Any
        /Users/raynne/Documents/Development/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_inappbrowser-1.2.1/ios/Classes/InAppWebView.swift:817:31: warning:
        expression implicitly coerced from 'Error?' to 'Any'
                                print(error)
                                      ^~~~~
        /Users/raynne/Documents/Development/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_inappbrowser-1.2.1/ios/Classes/InAppWebView.swift:817:31: note:
        provide a default value to avoid this warning
                                print(error)
                                      ^~~~~
                                            ?? <#default value#>
        /Users/raynne/Documents/Development/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_inappbrowser-1.2.1/ios/Classes/InAppWebView.swift:817:31: note:
        force-unwrap the value to avoid this warning
                                print(error)
                                      ^~~~~
                                           !
        /Users/raynne/Documents/Development/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_inappbrowser-1.2.1/ios/Classes/InAppWebView.swift:817:31: note:
        explicitly cast to 'Any' with 'as Any' to silence this warning
                                print(error)
                                      ^~~~~
                                            as Any
        /Users/raynne/Documents/Development/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_inappbrowser-1.2.1/ios/Classes/SafariViewController.swift:46:43:
        error: cannot assign value of type 'Double' to type 'UIWindow.Level'
                    self.tmpWindow?.windowLevel = 0.0
                                                  ^~~
                                                  UIWindow.Level(rawValue:  )
        /Users/raynne/Documents/Development/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_inappbrowser-1.2.1/ios/Classes/SwiftFlutterPlugin.swift:62:13:
        warning: result of 'MyCookieManager' initializer is unused
                    MyCookieManager(registrar: registrar)
                    ^              ~~~~~~~~~~~~~~~~~~~~~~
        /Users/raynne/Documents/Development/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_inappbrowser-1.2.1/ios/Classes/SwiftFlutterPlugin.swift:228:45:
        warning: result of call to 'parse(options:)' is unused
                                inAppBrowserOptions.parse(options: inAppBrowserOptionsMap)
                                                    ^    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        /Users/raynne/Documents/Development/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_inappbrowser-1.2.1/ios/Classes/SwiftFlutterPlugin.swift:353:39:
        error: 'UIWindowLevel' has been renamed to 'UIWindow.Level'
                self.tmpWindow?.windowLevel = UIWindowLevel(baseWindowLevel! + 1)
                                              ^~~~~~~~~~~~~
                                              UIWindow.Level
        UIKit.UIWindowLevel:2:18: note: 'UIWindowLevel' was obsoleted in Swift 4.2
        public typealias UIWindowLevel = UIWindow.Level
                         ^
        /Users/raynne/Documents/Development/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_inappbrowser-1.2.1/ios/Classes/SwiftFlutterPlugin.swift:362:31:
        warning: result of call to 'parse(options:)' is unused
                        safariOptions.parse(options: options)
                                      ^    ~~~~~~~~~~~~~~~~~~
        /Users/raynne/Documents/Development/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_inappbrowser-1.2.1/ios/Classes/SwiftFlutterPlugin.swift:400:32:
        warning: result of call to 'parse(options:)' is unused
                        browserOptions.parse(options: optionsFallback!)
                                       ^    ~~~~~~~~~~~~~~~~~~~~~~~~~~~
        /Users/raynne/Documents/Development/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_inappbrowser-1.2.1/ios/Classes/SwiftFlutterPlugin.swift:403:32:
        warning: result of call to 'parse(options:)' is unused
                        webViewOptions.parse(options: optionsFallback!)
                                       ^    ~~~~~~~~~~~~~~~~~~~~~~~~~~~
        /Users/raynne/Documents/Development/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_inappbrowser-1.2.1/ios/Classes/SwiftFlutterPlugin.swift:408:28:
        warning: result of call to 'parse(options:)' is unused
                    browserOptions.parse(options: options)
                                   ^    ~~~~~~~~~~~~~~~~~~
        /Users/raynne/Documents/Development/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_inappbrowser-1.2.1/ios/Classes/SwiftFlutterPlugin.swift:411:28:
        warning: result of call to 'parse(options:)' is unused
                    webViewOptions.parse(options: options)
                                   ^    ~~~~~~~~~~~~~~~~~~
        /Users/raynne/Documents/Development/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_inappbrowser-1.2.1/ios/Classes/SwiftFlutterPlugin.swift:417:94:
        warning: forced cast from 'InAppBrowserWebViewController??' to 'InAppBrowserWebViewController' only unwraps optionals; did you mean to use '!!'?
                let webViewController: InAppBrowserWebViewController = self.webViewControllers[uuid] as! InAppBrowserWebViewController
                                                                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                                                                                    !! 
        /Users/raynne/Documents/Development/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_inappbrowser-1.2.1/ios/Classes/SwiftFlutterPlugin.swift:438:47:
        error: cannot assign value of type 'Double' to type 'UIWindow.Level'
                        self.tmpWindow?.windowLevel = 0.0
                                                      ^~~
                                                      UIWindow.Level(rawValue:  )
        /Users/raynne/Documents/Development/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_inappbrowser-1.2.1/ios/Classes/SwiftFlutterPlugin.swift:469:39:
        error: 'UIWindowLevel' has been renamed to 'UIWindow.Level'
                self.tmpWindow?.windowLevel = UIWindowLevel(baseWindowLevel! + 1)
                                              ^~~~~~~~~~~~~
                                              UIWindow.Level
        UIKit.UIWindowLevel:2:18: note: 'UIWindowLevel' was obsoleted in Swift 4.2
        public typealias UIWindowLevel = UIWindow.Level
                         ^
        /Users/raynne/Documents/Development/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_inappbrowser-1.2.1/ios/Classes/SwiftFlutterPlugin.swift:476:24:
        warning: result of call to 'parse(options:)' is unused
                browserOptions.parse(options: options)
                               ^    ~~~~~~~~~~~~~~~~~~
        /Users/raynne/Documents/Development/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_inappbrowser-1.2.1/ios/Classes/SwiftFlutterPlugin.swift:479:24:
        warning: result of call to 'parse(options:)' is unused
                webViewOptions.parse(options: options)
                               ^    ~~~~~~~~~~~~~~~~~~
        /Users/raynne/Documents/Development/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_inappbrowser-1.2.1/ios/Classes/SwiftFlutterPlugin.swift:484:94:
        warning: forced cast from 'InAppBrowserWebViewController??' to 'InAppBrowserWebViewController' only unwraps optionals; did you mean to use '!!'?
                let webViewController: InAppBrowserWebViewController = self.webViewControllers[uuid] as! InAppBrowserWebViewController
                                                                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                                                                                    !! 
        /Users/raynne/Documents/Development/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_inappbrowser-1.2.1/ios/Classes/SwiftFlutterPlugin.swift:502:47:
        error: cannot assign value of type 'Double' to type 'UIWindow.Level'
                        self.tmpWindow?.windowLevel = 0.0
                                                      ^~~
                                                      UIWindow.Level(rawValue:  )
        /Users/raynne/Documents/Development/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_inappbrowser-1.2.1/ios/Classes/SwiftFlutterPlugin.swift:539:55:
        error: 'UIWindowLevel' has been renamed to 'UIWindow.Level'
                                self.tmpWindow?.windowLevel = UIWindowLevel(baseWindowLevel! + 1)
                                                              ^~~~~~~~~~~~~
                                                              UIWindow.Level
        UIKit.UIWindowLevel:2:18: note: 'UIWindowLevel' was obsoleted in Swift 4.2
        public typealias UIWindowLevel = UIWindow.Level
                         ^
        /Users/raynne/Documents/Development/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_inappbrowser-1.2.1/ios/Classes/SwiftFlutterPlugin.swift:561:59:
        error: cannot assign value of type 'Double' to type 'UIWindow.Level'
                                    self.tmpWindow?.windowLevel = 0.0
                                                                  ^~~
                                                                  UIWindow.Level(rawValue:  )
        /Users/raynne/Documents/Development/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_inappbrowser-1.2.1/ios/Classes/SwiftFlutterPlugin.swift:679:16:
        warning: value 'webViewController' was defined but never used; consider replacing with boolean test
                if let webViewController = self.webViewControllers[uuid] {
                   ~~~~^~~~~~~~~~~~~~~~~~~~
                                                                         != nil
        Command CompileSwift failed with a nonzero exit code
        note: Using new build system
        note: Planning build
        note: Constructing build description
    
    Encountered error while building for device.
    
    duplicate awaiting-response resolved 
    opened by test4511 13
  • Crash after scanning - Android

    Crash after scanning - Android

    Describe the bug When scanning a barcode the application crashes with this error:

    E/AndroidRuntime(19560): java.lang.RuntimeException: Unable to destroy activity {xxxx/com.amolg.flutterbarcodescanner.BarcodeCaptureActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.Thread$State java.lang.Thread.getState()' on a null object reference
    E/AndroidRuntime(19560): 	at android.app.ActivityThread.performDestroyActivity(ActivityThread.java:5438)
    E/AndroidRuntime(19560): 	at android.app.ActivityThread.handleDestroyActivity(ActivityThread.java:5472)
    E/AndroidRuntime(19560): 	at android.app.servertransaction.DestroyActivityItem.execute(DestroyActivityItem.java:44)
    E/AndroidRuntime(19560): 	at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:176)
    E/AndroidRuntime(19560): 	at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:97)
    E/AndroidRuntime(19560): 	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2270)
    E/AndroidRuntime(19560): 	at android.os.Handler.dispatchMessage(Handler.java:107)
    E/AndroidRuntime(19560): 	at android.os.Looper.loop(Looper.java:237)
    E/AndroidRuntime(19560): 	at android.app.ActivityThread.main(ActivityThread.java:8125)
    E/AndroidRuntime(19560): 	at java.lang.reflect.Method.invoke(Native Method)
    E/AndroidRuntime(19560): 	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:496)
    E/AndroidRuntime(19560): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1100)
    E/AndroidRuntime(19560): Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.Thread$State java.lang.Thread.getState()' on a null object reference
    E/AndroidRuntime(19560): 	at com.amolg.flutterbarcodescanner.camera.CameraSource$FrameProcessingRunnable.release(CameraSource.java:967)
    E/AndroidRuntime(19560): 	at com.amolg.flutterbarcodescanner.camera.CameraSource.release(CameraSource.java:273)
    E/AndroidRuntime(19560): 	at com.amolg.flutterbarcodescanner.camera.CameraSourcePreview.release(CameraSourcePreview.java:84)
    E/AndroidRuntime(19560): 	at com.amolg.flutterbarcodescanner.BarcodeCaptureActivity.onDestroy(BarcodeCaptureActivity.java:266)
    E/AndroidRuntime(19560): 	at android.app.Activity.performDestroy(Activity.java:8219)
    E/AndroidRuntime(19560): 	at android.app.Instrumentation.callActivityOnDestroy(Instrumentation.java:1342)
    E/AndroidRuntime(19560): 	at android.app.ActivityThread.performDestroyActivity(ActivityThread.java:5423)
    E/AndroidRuntime(19560): 	... 11 more
    

    To Reproduce Just follow the example in the documentation. Nothing done in Android.

    Smartphone (please complete the following information):

    • Device: Samsung S9
    • OS: Android 10
    resolved Android 
    opened by ArielFerreiro 12
  • Does plugin require NSPhotoLibraryUsage ?

    Does plugin require NSPhotoLibraryUsage ?

    When I uploaded my app into AppStore I got the refusal with warning NSPhotoLibraryUsageDescription is absent. Does plugin require NSPhotoLibraryUsage ?

    resolved app-deployment 
    opened by pamir72 11
  • Unhandled Exception: MissingPluginException

    Unhandled Exception: MissingPluginException

    my code

    Future scan() async {
        String res = await FlutterBarcodeScanner.scanBarcode("00ccbb", "Cancel", true);
        print("qr scan ${res}");
    }
    

    and report error

    Unhandled Exception: MissingPluginException(No implementation found for method scanBarcode on channel flutter_barcode_scanner)
    #0      MethodChannel.invokeMethod (package:flutter/src/services/platform_channel.dart:300:7)
    
    bug resolved 
    opened by MagicalWater 11
  • iOS build release fail

    iOS build release fail

    Describe the bug Some error appear when I tried to build release for iOS, below is the error I'm having: Running Xcode build...
    Xcode build done. 1.7s Failed to build iOS app Error output from Xcode build: ↳ ** BUILD FAILED **

    Xcode's output: ↳ error: Unexpected duplicate tasks: 1) Target 'flutter_barcode_scanner' (project 'Pods') has copy command from '/Users/jing/Development/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_barcode_scanner-0.1.7/ios/Classes/resource.bundle/ic_flash_off.png' to '/Users/jing/Documents/All_Flutter_Project/onair_flutter/build/ios/Release-iphoneos/flutter_barcode_scanner/flutter_barcode_scanner.framework/ic_flash_off.png' 2) Target 'flutter_barcode_scanner' (project 'Pods') has copy command from '/Users/jing/Development/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_barcode_scanner-0.1.7/ios/Classes/resource.bundle/ic_flash_off.png' to '/Users/jing/Documents/All_Flutter_Project/onair_flutter/build/ios/Release-iphoneos/flutter_barcode_scanner/flutter_barcode_scanner.framework/ic_flash_off.png' error: Unexpected duplicate tasks: 1) Target 'flutter_barcode_scanner' (project 'Pods') has copy command from '/Users/jing/Development/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_barcode_scanner-0.1.7/ios/Classes/resource.bundle/ic_flash_on.png' to '/Users/jing/Documents/All_Flutter_Project/onair_flutter/build/ios/Release-iphoneos/flutter_barcode_scanner/flutter_barcode_scanner.framework/ic_flash_on.png' 2) Target 'flutter_barcode_scanner' (project 'Pods') has copy command from '/Users/jing/Development/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_barcode_scanner-0.1.7/ios/Classes/resource.bundle/ic_flash_on.png' to '/Users/jing/Documents/All_Flutter_Project/onair_flutter/build/ios/Release-iphoneos/flutter_barcode_scanner/flutter_barcode_scanner.framework/ic_flash_on.png' note: Using new build systemnote: Planning buildnote: Constructing build description

    Encountered error while building for device.

    Flutter doctor: Doctor summary (to see all details, run flutter doctor -v): [✓] Flutter (Channel unknown, v1.9.1+hotfix.4, on Mac OS X 10.14.6 18G1012, locale en-MY)

    [✓] Android toolchain - develop for Android devices (Android SDK version 29.0.2) [✓] Xcode - develop for iOS and macOS (Xcode 11.1) [✓] Android Studio (version 3.5) [✓] VS Code (version 1.39.2) [✓] Connected device (1 available)

    • No issues found!

    To Reproduce Steps to reproduce the behaviour:

    1. run "flutter build ios --release -t lib/yourmain.dart" in terminal
    bug resolved iOS 
    opened by JinG312 10
  • Barcode Scan Got Wrong Value

    Barcode Scan Got Wrong Value

    When I opened camera scan barcode sometime I got wrong code value and sometime I got correct code value. When I put my phone camera italic or shake hand I got wrong code. So how can we prevent this condition happen.

    opened by hvannak 0
  • Redirecting to new screen not allowed after scanning is complete

    Redirecting to new screen not allowed after scanning is complete

    Thanks for this wonderful plugin .

    Description: After getting the value from streaming, redirecting to another screen to show that scanned value doesn't work. Stops redirecting to another screen after streaming is done in Flutter) . Tried so far: I have tried several times to redirect after getting the values but the camera seems to forcefully stay on foreground . Navigator redirect, GetX Redirect etc. but none seem to stop the foreground camera - thus, can't move to another screen .

    opened by Farial-mahmod 0
  • Get rid of GMS dependency

    Get rid of GMS dependency

    Is your feature request related to a problem? Please describe. Not all Android devices come with Google Services support and some open-source app repositories strictly prohibit integrating proprietary packages like it.

    Describe the solution you'd like It'd be great if this package could get rid of its dependency on Google Play services — specifically 'com.google.android.gms:play-services-vision.

    enhancement 
    opened by 12people 1
  • is this Plugin Maintained ?

    is this Plugin Maintained ?

    Hi Amol, Your Package is very important for people like who uses Flutter For Mobile Development I Don't Have Any Idea About Native Android / IOS Development First Timer in Mobile App Development and Flutter is my Platform

    Request You to Maintain the Package and Fix the Bugs would be a great favor on None-Native Developers

    Thank You

    enhancement 
    opened by parmarjitesh 4
Releases(V2.0.0)
  • V2.0.0(Apr 24, 2021)

Owner
Amol Gangadhare
android | flutter | react-native | salesforce
Amol Gangadhare
QR Scanner and Barcode Scanner app

qr_scan_code A new Flutter project. Getting Started This project is a starting point for a Flutter application. A few resources to get you started if

Muhammad Abair Mutarraf 18 Dec 8, 2022
A full screen mobile scanner for scanning QR Code and Bar Code.

Flutter QR Bar Scanner A Full Screen Scanner for Scanning QR code and Barcode using Google's Mobile Vision API Reading & Scanning QR/Bar codes using F

Lutfor Rahman 31 Oct 5, 2022
A QR code/ barcode scanner made using Flutter.

QR Scanner A Flutter based QR/Bar code scanner app with dark mode and material design. Scan QR codes. Scan barcodes. Show result in a popup. Clicking

Hash Studios 10 Nov 15, 2022
Custom Camera, Barcode Scanner etc

in_app_camera A new Flutter project. Getting Started This project is a starting point for a Flutter application. A few resources to get you started if

Faizan Darwesh 0 Dec 30, 2021
This is a flutter based project. It authorize the user by scanning fingerprint using ios and android native fingerprint scanners.

flutter_fingerprint_auth Fingerprint Authentication in Flutter Introduction In this article we are talking about fingerprint authentication. As far as

Vnnovate Solutions Pvt Ltd 1 Aug 22, 2022
🚀A Flutter plugin to scanning. Ready for PDA

PDA Scanner A Flutter plugin ?? to scanning. Ready for PDA ?? github Installation Add this to your package's pubspec.yaml file: dependencies: pda_sca

Sword 51 Sep 29, 2022
Position calculation and beacons scanning, using Dart language with Flutter Framework.

BeaconLocation A new Flutter project. Getting Started This project is a starting point for a Flutter application. A few resources to get you started i

Dimitris Motsios 0 Dec 29, 2021
Flutter Downloader - A plugin for creating and managing download tasks. Supports iOS and Android.

Flutter Downloader A plugin for creating and managing download tasks. Supports iOS and Android. This plugin is based on WorkManager in Android and NSU

Flutter Community 789 Jan 3, 2023
A Video Player For Vimeo Videos in Flutter. This plugin allows us to play video from Vimeo and it supports Android and iOS platforms.

vimeo_video_player A Video Player For Vimeo Videos in Flutter. This plugin allow us to play video from vimeo and it's supports Android and iOS platfor

MindInventory 26 Dec 8, 2022
Flutter plugin for Firebase Auth UI. Supports popular auth providers by using native SDK for Android and iOS.

firebase_auth_ui Flutter plugin of Firebase UI which allows to add login/sign-up quickly. NOTE: This plugin is under development. Please provide Feedb

Sandip Fichadiya 50 Mar 23, 2022
A document scanner plugin for flutter

document_scanner_flutter A document scanner + PDF generator plugin for flutter Getting Started Installing document_scanner_flutter: ^0.2.3 Basic Usage

Ishaq Hassan 32 Dec 2, 2022
🛠 Flutter QR code scanner plugin.

Language: English | 中文简体 QR Code Scanner A Flutter plugin ?? to scanning. Ready for Android ?? github Permission: <uses-permission android:name="andro

Sword 349 Dec 20, 2022
This is the code for the POAPin app, which is written in Flutter and currently supports iOS, Android, and Web platforms.

POAPin This is the code for the POAPin app, which is written in Flutter and currently supports iOS, Android, and Web platforms. ?? Get the app Platfor

Glory Lab 17 Nov 7, 2022
A Flutter implementation of splash screen. Supports Android and IOS.

your_splash A Flutter implementation of splash screen. Supports Android and IOS. Features Supports splash screen with the Future callback Supports spl

Stepanenko Stanislav 6 Sep 27, 2022
barcode generate library for Flutter

Barcode Flutter is a Flutter library for simple and fast Barcode rendering via custom painter Update Notes 1.1.2 Add Codabar support Fix wrong pattern

Chenge 58 Mar 26, 2022
A Flutter plugin to read 🔖 metadata of 🎵 media files. Supports Windows, Linux & Android.

flutter_media_metadata A Flutter plugin to read metadata of media files. A part of Harmonoid open source project ?? Install Add in your pubspec.yaml.

Harmonoid 60 Dec 2, 2022
WooCommerce App template that uses Flutter. Integrated to work with WooCommerce stores, connect and create an IOS and Android app from Flutter for IOS and Android

WooCommerce App: Label StoreMax Label StoreMax - v5.3.1 Official WooSignal WooCommerce App About Label StoreMax Label StoreMax is an App Template for

WooSignal 314 Jan 9, 2023
QRCode Generator and QR Scanner

QRCode Scanner Flutter App Functionality : Generate QR code from text Share QR Code Scan QR Code using camera and get text result This project is a st

null 2 Sep 27, 2022
Permission plugin for Flutter. This plugin provides a cross-platform (iOS, Android) API to request and check permissions.

Flutter permission_handler plugin The Flutter permission_handler plugin is build following the federated plugin architecture. A detailed explanation o

Baseflow 1.7k Dec 31, 2022