Giter Club home page Giter Club logo

amolgangadhare / flutter_barcode_scanner Goto Github PK

View Code? Open in Web Editor NEW
370.0 16.0 419.0 495 KB

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

Home Page: https://pub.dev/packages/flutter_barcode_scanner

License: MIT License

Java 70.24% Ruby 1.65% Swift 23.02% Objective-C 0.33% Dart 4.34% Shell 0.42%
flutter barcode barcode-scanner flutterbarcodescanner flutter-barcode-scanner barcodescanner dart fluttersdk barcodescanninginflutter swift

flutter_barcode_scanner's Introduction

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]

flutter_barcode_scanner's People

Contributors

amolgangadhare avatar andrewackerman avatar izzyaf avatar software-ace avatar tudorilisoi avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

flutter_barcode_scanner's Issues

Notification once barcode is scanned.

Is your feature request related to a problem? Please describe.
Once Streaming using the getBarcodeStreamReceiver, there should be notification bar or snackbar that popup and let u know the barcode was scan and press ok to continue to scan.

Describe the solution you'd like
have a snackbar popup

Describe alternatives you've considered
n/a

Additional context

Screen Shot 2019-09-05 at 3 39 06 PM

BarcodeScanner resizing

hello. ( sorry English little. )

flutter_barcode_scanner good!
( Thank you! )

but i want flutter_barcode_scanner resizing.

ex)
FlutterBarcodeScanner.getBarcodeStreamReceiver("#ff6666", "Cancel", false)
.listen((barcode) {
/// barcode to be used
});

result
full screen => I want a scanner area that matches the size of the layout (container, size box).

How do I resize flutter_barcode_scanner?

Thank you.
have a nice day!

Unhandled Exception: MissingPluginException(No implementation found for method scanBarcode on channel flutter_barcode_scanner)

The scanner won't open and the exception is printed.

Steps to reproduce the behavior:
I don't know how to precisely reproduce it. It happened just one time in debug mode, while after compiling the apk and installing it on another devices it happens more frequently.
If I open the app, the barcode scanner works fine and then if I use other apps and after some time go back to the app, it randmoly stops working.

Test device:

  • Device: Oneplus 6
  • OS: Android 9

This are the logs printed on the device:

> 08-06 19:17:40.929 12759 23838 E flutter : [ERROR:flutter/lib/ui/ui_dart_state.cc(148)] Unhandled Exception: MissingPluginException(No implementation found for method scanBarcode on channel flutter_barcode_scanner)
08-06 19:17:40.929 12759 23838 E flutter : #0      MethodChannel.invokeMethod (package:flutter/src/services/platform_channel.dart:314)
08-06 19:17:40.929 12759 23838 E flutter : <asynchronous suspension>
08-06 19:17:40.929 12759 23838 E flutter : #1      FlutterBarcodeScanner.scanBarcode (package:flutter_barcode_scanner/flutter_barcode_scanner.dart:34)
08-06 19:17:40.929 12759 23838 E flutter : <asynchronous suspension>
08-06 19:17:40.929 12759 23838 E flutter : #2      AddBookFloat._addBook (package:dima2018_colombo_troianiello/view/library-page/add-book-float.dart:22)
08-06 19:17:40.929 12759 23838 E flutter : <asynchronous suspension>
08-06 19:17:40.929 12759 23838 E flutter : #3      AddBookFloat.build.<anonymous closure> (package:dima2018_colombo_troianiello/view/library-page/add-book-float.dart:16)
08-06 19:17:40.929 12759 23838 E flutter : #4      _InkResponseState._handleTap (package:flutter/src/material/ink_well.dart:635)
08-06 19:17:40.929 12759 23838 E flutter : #5      _InkResponseState.build.<anonymous closure> (package:flutter/src/material/ink_well.dart:711)
08-06 19:17:40.929 12759 23838 E flutter : #6      GestureRecognizer.invokeCallback (package:flutter/src/gestures/recognizer.dart:182)
08-06 19:17:40.929 12759 23838 E flutter : #7      TapGestureRecognizer._checkUp (package:flutter/src/gestures/tap.dart:365)
08-06 19:17:40.929 12759 23838 E flutter : #8      TapGestureRecognizer.handlePrimaryPointer (package:flutter/src/gestures/tap.dart:275)
08-06 19:17:40.929 12759 23838 E flutter : #9      PrimaryPointerGestureRecognizer.handleEvent (package:flutter/src/gestures/recognizer.dart:455)
08-06 19:17:40.929 12759 23838 E flutter : #10     PointerRouter._dispatch (package:flutter/src/gestures/pointer_router.dart:75)
08-06 19:17:40.929 12759 23838 E flutter : #11     PointerRouter.route (package:flutter/src/gestures/pointer_router.dart:102)
08-06 19:17:40.929 12759 23838 E flutter : #12     _WidgetsFlutterBinding&BindingBase&GestureBinding.handleEvent (package:flutter/src/gestures/binding.dart:218)
08-06 19:17:40.929 12759 23838 E flutter : #13     _WidgetsFlutterBinding&BindingBase&GestureBinding.dispatchEvent (package:flutter/src/gestures/binding.dart:198)
08-06 19:17:40.929 12759 23838 E flutter : #14     _WidgetsFlutterBinding&BindingBase&GestureBinding._handlePointerEvent (package:flutter/src/gestures/binding.dart:156)
08-06 19:17:40.929 12759 23838 E flutter : #15     _WidgetsFlutterBinding&BindingBase&GestureBinding._flushPointerEventQueue (package:flutter/src/gestures/binding.dart:102)
08-06 19:17:40.929 12759 23838 E flutter : #16     _WidgetsFlutterBinding&BindingBase&GestureBinding._handlePointerDataPacket (package:flutter/src/gestures/binding.dart:86)
08-06 19:17:40.929 12759 23838 E flutter : #17     _rootRunUnary (dart:async/zone.dart:1136)
08-06 19:17:40.929 12759 23838 E flutter : #18     _CustomZone.runUnary (dart:async/zone.dart:1029)
08-06 19:17:40.929 12759 23838 E flutter : #19     _CustomZone.runUnaryGuarded (dart:async/zone.dart:931)
08-06 19:17:40.929 12759 23838 E flutter : #20     _invoke1 (dart:ui/hooks.dart:250)
08-06 19:17:40.929 12759 23838 E flutter : #21     _dispatchPointerDataPacket (dart:ui/hooks.dart:159)
08-06 19:17:40.929 12759 23838 E flutter : 
08-06 19:17:40.920 12759 12759 W 3.gpu   : type=1400 audit(0.0:78692): avc: denied { read } for name="u:object_r:vendor_default_prop:s0" dev="tmpfs" ino=21589 scontext=u:r:untrusted_app:s0:c230,c256,c512,c768 tcontext=u:object_r:vendor_default_prop:s0 tclass=file permissive=0
08-06 19:17:40.931 12759 23839 E libc    : Access denied finding property "vendor.debug.egl.swapinterval"
08-06 19:17:40.930 12759 12759 W 3.gpu   : type=1400 audit(0.0:78693): avc: denied { read } for name="u:object_r:vendor_default_prop:s0" dev="tmpfs" ino=21589 scontext=u:r:untrusted_app:s0:c230,c256,c512,c768 tcontext=u:object_r:vendor_default_prop:s0 tclass=file permissive=0
08-06 19:17:40.944 12759 23839 E libc    : Access denied finding property "vendor.debug.egl.swapinterval"
08-06 19:17:40.950 12759 12759 W 3.gpu   : type=1400 audit(0.0:78694): avc: denied { read } for name="u:object_r:vendor_default_prop:s0" dev="tmpfs" ino=21589 scontext=u:r:untrusted_app:s0:c230,c256,c512,c768 tcontext=u:object_r:vendor_default_prop:s0 tclass=file permissive=0
08-06 19:17:40.958 12759 23839 E libc    : Access denied finding property "vendor.debug.egl.swapinterval"
08-06 19:17:40.970 12759 12759 W 3.gpu   : type=1400 audit(0.0:78695): avc: denied { read } for name="u:object_r:vendor_default_prop:s0" dev="tmpfs" ino=21589 scontext=u:r:untrusted_app:s0:c230,c256,c512,c768 tcontext=u:object_r:vendor_default_prop:s0 tclass=file permissive=0
08-06 19:17:40.976 12759 23839 E libc    : Access denied finding property "vendor.debug.egl.swapinterval"
08-06 19:17:41.000 12759 12759 W 3.gpu   : type=1400 audit(0.0:78696): avc: denied { read } for name="u:object_r:vendor_default_prop:s0" dev="tmpfs" ino=21589 scontext=u:r:untrusted_app:s0:c230,c256,c512,c768 tcontext=u:object_r:vendor_default_prop:s0 tclass=file permissive=0
08-06 19:17:41.011 12759 23839 E libc    : Access denied finding property "vendor.debug.egl.swapinterval"

I have no problem opening the camera within the app even after this happens, it's only the barcode scanner that doesn't open.

Add possibility to switch from back to front-facing camera

Is your feature request related to a problem? Please describe.
In some use cases when used with a tablet on a stand, the front-facing camera barcode scan will be great.

Describe the solution you'd like
Having an extra parameter at initialization time and/or button in UI to switch.

Describe alternatives you've considered
N/A

iOS 12.4 on iphone 6 not requesting permissions correctly

Describe the bug
Permissions aren't being correctly requested, only a "grant" option is shown and when pressed takes the user to the ios settings page. There's nowhere to grant permissions and use the camera.

To Reproduce
Steps to reproduce the behavior:

  1. Install per directions (making sure os target is 10, and swift is 5)
  2. Click on 'Scan Product button'
  3. See permissions issue

Expected behavior
The grant permissions to show the ok button and start scanning

Screenshots
UNADJUSTEDNONRAW_thumb_1

Smartphone (please complete the following information):

  • Device: iPhone6s
  • OS: iOS 12.4
  • Browser n/a
  • Version 0.1.4

Additional context
Add any other context about the problem here.

iOS build failure - pod install failure

Describe the bug
created a blank application with swift and java. installed this package.

To Reproduce
Steps to reproduce the behavior:

  1. flutter run

Smartphone (please complete the following information):

  • Device: iOS XR Simulator
  • Version Flutter 1.2.1

Logs
`Jawands-Mac:flutter_bar_code_scanner jawandsingh$ flutter run
Launching lib/main.dart on iPhone Xʀ in debug mode...
Running pod install... 1.2s
CocoaPods' output:

Preparing

Analyzing dependencies

Inspecting targets to integrate
  Using `ARCHS` setting to build architectures of target `Pods-Runner`: (``)

Fetching external sources
-> Fetching podspec for `Flutter` from `.symlinks/flutter/ios`
-> Fetching podspec for `flutter_barcode_scanner` from
`.symlinks/plugins/flutter_barcode_scanner/ios`

Resolving dependencies of `Podfile`
[!] CocoaPods could not find compatible versions for pod "flutter_barcode_scanner":
  In Podfile:
    flutter_barcode_scanner (from `.symlinks/plugins/flutter_barcode_scanner/ios`)

Specs satisfying the `flutter_barcode_scanner (from
`.symlinks/plugins/flutter_barcode_scanner/ios`)` dependency were found, but they
required a higher minimum deployment target.

/usr/local/Cellar/cocoapods/1.6.1/libexec/gems/molinillo-0.6.6/lib/molinillo/resolution.
rb:328:in `raise_error_unless_state'
/usr/local/Cellar/cocoapods/1.6.1/libexec/gems/molinillo-0.6.6/lib/molinillo/resolution.
rb:310:in `block in unwind_for_conflict'
/usr/local/Cellar/cocoapods/1.6.1/libexec/gems/molinillo-0.6.6/lib/molinillo/resolution.
rb:308:in `tap'
/usr/local/Cellar/cocoapods/1.6.1/libexec/gems/molinillo-0.6.6/lib/molinillo/resolution.
rb:308:in `unwind_for_conflict'
/usr/local/Cellar/cocoapods/1.6.1/libexec/gems/molinillo-0.6.6/lib/molinillo/resolution.
rb:684:in `attempt_to_activate'
/usr/local/Cellar/cocoapods/1.6.1/libexec/gems/molinillo-0.6.6/lib/molinillo/resolution.
rb:254:in `process_topmost_state'
/usr/local/Cellar/cocoapods/1.6.1/libexec/gems/molinillo-0.6.6/lib/molinillo/resolution.
rb:182:in `resolve'
/usr/local/Cellar/cocoapods/1.6.1/libexec/gems/molinillo-0.6.6/lib/molinillo/resolver.rb
:43:in `resolve'
/usr/local/Cellar/cocoapods/1.6.1/libexec/gems/cocoapods-1.6.1/lib/cocoapods/resolver.rb
:91:in `resolve'
/usr/local/Cellar/cocoapods/1.6.1/libexec/gems/cocoapods-1.6.1/lib/cocoapods/installer/a
nalyzer.rb:909:in `block in resolve_dependencies'
/usr/local/Cellar/cocoapods/1.6.1/libexec/gems/cocoapods-1.6.1/lib/cocoapods/user_interf
ace.rb:64:in `section'
/usr/local/Cellar/cocoapods/1.6.1/libexec/gems/cocoapods-1.6.1/lib/cocoapods/installer/a
nalyzer.rb:907:in `resolve_dependencies'
/usr/local/Cellar/cocoapods/1.6.1/libexec/gems/cocoapods-1.6.1/lib/cocoapods/installer/a
nalyzer.rb:114:in `analyze'
/usr/local/Cellar/cocoapods/1.6.1/libexec/gems/cocoapods-1.6.1/lib/cocoapods/installer.r
b:266:in `analyze'
/usr/local/Cellar/cocoapods/1.6.1/libexec/gems/cocoapods-1.6.1/lib/cocoapods/installer.r
b:174:in `block in resolve_dependencies'
/usr/local/Cellar/cocoapods/1.6.1/libexec/gems/cocoapods-1.6.1/lib/cocoapods/user_interf
ace.rb:64:in `section'
/usr/local/Cellar/cocoapods/1.6.1/libexec/gems/cocoapods-1.6.1/lib/cocoapods/installer.r
b:173:in `resolve_dependencies'
/usr/local/Cellar/cocoapods/1.6.1/libexec/gems/cocoapods-1.6.1/lib/cocoapods/installer.r
b:136:in `install!'
/usr/local/Cellar/cocoapods/1.6.1/libexec/gems/cocoapods-1.6.1/lib/cocoapods/command/ins
tall.rb:48:in `run'
/usr/local/Cellar/cocoapods/1.6.1/libexec/gems/claide-1.0.2/lib/claide/command.rb:334:in
`run'
/usr/local/Cellar/cocoapods/1.6.1/libexec/gems/cocoapods-1.6.1/lib/cocoapods/command.rb:
52:in `run'
/usr/local/Cellar/cocoapods/1.6.1/libexec/gems/cocoapods-1.6.1/bin/pod:55:in `<top
(required)>'
/usr/local/Cellar/cocoapods/1.6.1/libexec/bin/pod:22:in `load'
/usr/local/Cellar/cocoapods/1.6.1/libexec/bin/pod:22:in `<main>'

Error output from CocoaPods:

[!] Automatically assigning platform ios with version 8.0 on target Runner because
no platform was specified. Please specify a platform for this target in your Podfile.
See https://guides.cocoapods.org/syntax/podfile.html#platform.
Error running pod install
Error launching application on iPhone Xʀ.`

Flutter Doctor
`Jawands-Mac:flutter_bar_code_scanner jawandsingh$ flutter doctor -v
[✓] Flutter (Channel stable, v1.2.1, on Mac OS X 10.14.4 18E226, locale en-GB)
• Flutter version 1.2.1 at /Users/jawandsingh/Documents/development/flutter
• Framework revision 8661d8aecd (8 weeks ago), 2019-02-14 19:19:53 -0800
• Engine revision 3757390fa4
• Dart version 2.1.2 (build 2.1.2-dev.0.0 0a7dcf17eb)

[✗] Android toolchain - develop for Android devices
✗ Unable to locate Android SDK.
Install Android Studio from: https://developer.android.com/studio/index.html
On first launch it will assist you in installing the Android SDK components.
(or visit https://flutter.io/setup/#android-setup for detailed instructions).
If Android SDK has been installed to a custom location, set ANDROID_HOME to that location.
You may also want to add it to your PATH environment variable.

[✓] iOS toolchain - develop for iOS devices (Xcode 10.2)
• Xcode at /Applications/Xcode.app/Contents/Developer
• Xcode 10.2, Build version 10E125
• ios-deploy 1.9.4
• CocoaPods version 1.6.1

[!] Android Studio (not installed)
• Android Studio not found; download from https://developer.android.com/studio/index.html
(or visit https://flutter.io/setup/#android-setup for detailed instructions).

[✓] VS Code (version 1.33.1)
• VS Code at /Applications/Visual Studio Code.app/Contents
• Flutter extension version 2.25.0

[✓] Connected device (1 available)
• iPhone Xʀ • B95B7422-090E-4B66-8DA9-3433121B259C • ios • com.apple.CoreSimulator.SimRuntime.iOS-12-2 (simulator)

! Doctor found issues in 2 categories.
`

Scanner not working if no internet on a phone

If you disable internet connection, scanner will not be showing

W/art     ( 3719): Before Android 4.1, method android.graphics.PorterDuffColorFilter androidx.vectordrawable.graphics.drawable.VectorDrawableCompat.updateTintFilter(android.graphics.PorterDuffColorFilter, android.content.res.ColorStateList, android.graphics.PorterDuff$Mode) would have incorrectly overridden the package-private method in android.graphics.drawable.Drawable
I/art     ( 3719): Rejecting re-init on previously-failed class java.lang.Class<androidx.core.view.ViewCompat$OnUnhandledKeyEventListenerWrapper>
I/art     ( 3719): Rejecting re-init on previously-failed class java.lang.Class<androidx.core.view.ViewCompat$OnUnhandledKeyEventListenerWrapper>
W/DynamiteModule( 3719): Local module descriptor class for com.google.android.gms.vision.dynamite.barcode not found.
E/ActivityThread( 3719): Failed to find provider info for com.google.android.gms.chimera
W/DynamiteModule( 3719): Failed to retrieve remote module version.
W/GooglePlayServicesUtil( 3719): Google Play Store is missing.
I/DynamiteModule( 3719): Considering local module com.google.android.gms.vision.dynamite.barcode:0 and remote module com.google.android.gms.vision.dynamite.barcode:0
D/BarcodeNativeHandle( 3719): Cannot load feature, fall back to load whole module.
W/DynamiteModule( 3719): Local module descriptor class for com.google.android.gms.vision.dynamite not found.
W/GooglePlayServicesUtil( 3719): Google Play Store is missing.
I/DynamiteModule( 3719): Considering local module com.google.android.gms.vision.dynamite:0 and remote module com.google.android.gms.vision.dynamite:0
E/BarcodeNativeHandle( 3719): Error Loading module
E/BarcodeNativeHandle( 3719): com.google.android.gms.dynamite.DynamiteModule$LoadingException: No acceptable module found. Local version is 0 and remote version is 0.
E/BarcodeNativeHandle( 3719): 	at com.google.android.gms.dynamite.DynamiteModule.load(Unknown Source)
E/BarcodeNativeHandle( 3719): 	at com.google.android.gms.internal.vision.zzm.zzq(Unknown Source)
E/BarcodeNativeHandle( 3719): 	at com.google.android.gms.internal.vision.zzg.<init>(Unknown Source)
E/BarcodeNativeHandle( 3719): 	at com.google.android.gms.vision.barcode.BarcodeDetector$Builder.build(Unknown Source)
E/BarcodeNativeHandle( 3719): 	at com.amolg.flutterbarcodescanner.BarcodeCaptureActivity.createCameraSource(BarcodeCaptureActivity.java:196)
E/BarcodeNativeHandle( 3719): 	at com.amolg.flutterbarcodescanner.BarcodeCaptureActivity.onCreate(BarcodeCaptureActivity.java:129)
E/BarcodeNativeHandle( 3719): 	at android.app.Activity.performCreate(Activity.java:5990)
E/BarcodeNativeHandle( 3719): 	at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1106)
E/BarcodeNativeHandle( 3719): 	at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2278)
E/BarcodeNativeHandle( 3719): 	at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2387)
E/BarcodeNativeHandle( 3719): 	at android.app.ActivityThread.access$800(ActivityThread.java:151)
E/BarcodeNativeHandle( 3719): 	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1303)
E/BarcodeNativeHandle( 3719): 	at android.os.Handler.dispatchMessage(Handler.java:102)
E/BarcodeNativeHandle( 3719): 	at android.os.Looper.loop(Looper.java:135)
E/BarcodeNativeHandle( 3719): 	at android.app.ActivityThread.main(ActivityThread.java:5254)
E/BarcodeNativeHandle( 3719): 	at java.lang.reflect.Method.invoke(Native Method)
E/BarcodeNativeHandle( 3719): 	at java.lang.reflect.Method.invoke(Method.java:372)
E/BarcodeNativeHandle( 3719): 	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)
E/BarcodeNativeHandle( 3719): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)
W/BarcodeNativeHandle( 3719): Native handle not yet available. Reverting to no-op handle.
W/DynamiteModule( 3719): Local module descriptor class for com.google.android.gms.vision.dynamite.barcode not found.
W/GooglePlayServicesUtil( 3719): Google Play Store is missing.
I/DynamiteModule( 3719): Considering local module com.google.android.gms.vision.dynamite.barcode:0 and remote module com.google.android.gms.vision.dynamite.barcode:0
D/BarcodeNativeHandle( 3719): Cannot load feature, fall back to load whole module.
W/DynamiteModule( 3719): Local module descriptor class for com.google.android.gms.vision.dynamite not found.
W/GooglePlayServicesUtil( 3719): Google Play Store is missing.
I/DynamiteModule( 3719): Considering local module com.google.android.gms.vision.dynamite:0 and remote module com.google.android.gms.vision.dynamite:0
E/BarcodeNativeHandle( 3719): Error Loading module
E/BarcodeNativeHandle( 3719): com.google.android.gms.dynamite.DynamiteModule$LoadingException: No acceptable module found. Local version is 0 and remote version is 0.
E/BarcodeNativeHandle( 3719): 	at com.google.android.gms.dynamite.DynamiteModule.load(Unknown Source)
E/BarcodeNativeHandle( 3719): 	at com.google.android.gms.internal.vision.zzm.zzq(Unknown Source)
E/BarcodeNativeHandle( 3719): 	at com.google.android.gms.internal.vision.zzm.isOperational(Unknown Source)
E/BarcodeNativeHandle( 3719): 	at com.google.android.gms.vision.barcode.BarcodeDetector.isOperational(Unknown Source)
E/BarcodeNativeHandle( 3719): 	at com.amolg.flutterbarcodescanner.BarcodeCaptureActivity.createCameraSource(BarcodeCaptureActivity.java:201)
E/BarcodeNativeHandle( 3719): 	at com.amolg.flutterbarcodescanner.BarcodeCaptureActivity.onCreate(BarcodeCaptureActivity.java:129)
E/BarcodeNativeHandle( 3719): 	at android.app.Activity.performCreate(Activity.java:5990)
E/BarcodeNativeHandle( 3719): 	at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1106)
E/BarcodeNativeHandle( 3719): 	at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2278)
E/BarcodeNativeHandle( 3719): 	at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2387)
E/BarcodeNativeHandle( 3719): 	at android.app.ActivityThread.access$800(ActivityThread.java:151)
E/BarcodeNativeHandle( 3719): 	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1303)
E/BarcodeNativeHandle( 3719): 	at android.os.Handler.dispatchMessage(Handler.java:102)
E/BarcodeNativeHandle( 3719): 	at android.os.Looper.loop(Looper.java:135)
E/BarcodeNativeHandle( 3719): 	at android.app.ActivityThread.main(ActivityThread.java:5254)
E/BarcodeNativeHandle( 3719): 	at java.lang.reflect.Method.invoke(Native Method)
E/BarcodeNativeHandle( 3719): 	at java.lang.reflect.Method.invoke(Method.java:372)
E/BarcodeNativeHandle( 3719): 	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)
E/BarcodeNativeHandle( 3719): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)
W/GooglePlayServicesUtil( 3719): Google Play Store is missing.
E/GoogleApiAvailability( 3719): Google Play services is invalid. Cannot recover.
W/EGL_emulation( 3719): eglSurfaceAttrib not implemented
W/OpenGLRenderer( 3719): Failed to set EGL_SWAP_BEHAVIOR on surface 0xf3e983c0, error=EGL_SUCCESS
W/EGL_emulation( 3719): eglSurfaceAttrib not implemented
W/OpenGLRenderer( 3719): Failed to set EGL_SWAP_BEHAVIOR on surface 0xf3e98400, error=EGL_SUCCESS
I/Choreographer( 3719): Skipped 34 frames!  The application may be doing too much work on its main thread.
I/Choreographer( 3719): Skipped 79 frames!  The application may be doing too much work on its main thread.

iOS build error with codemagic

Describe the bug
project with this plugin failed to build for iOS on codemagic.io
error reported: 'flutter_barcode_scanner/FlutterBarcodeScannerPlugin.h' file not found

Full error log
== Building for iOS ==

== /usr/local/bin/flutter build ios --release --no-codesign ==
Warning: Building for device with codesigning disabled. You will have to manually codesign before deploying to device.
Building com.abatix.test1 for device (ios-release)...
Running pod install... 1.9s
Running Xcode build...
Xcode build done. 52.5s
Failed to build iOS app
Error output from Xcode build:

** BUILD FAILED **

Xcode's output:

=== BUILD TARGET Runner OF PROJECT Runner WITH CONFIGURATION Release ===
The use of Swift 3 @objc inference in Swift 4 mode is deprecated. Please address deprecated @objc inference warnings, test your code with “Use of deprecated Swift 3 @objc inference” logging enabled, and then disable inference by changing the "Swift 3 @objc Inference" build setting to "Default" for the "Runner" target.
The use of Swift 3 @objc inference in Swift 4 mode is deprecated. Please address deprecated @objc inference warnings, test your code with “Use of deprecated Swift 3 @objc inference” logging enabled, and then disable inference by changing the "Swift 3 @objc Inference" build setting to "Default" for the "Runner" target.
=== BUILD TARGET Runner OF PROJECT Runner WITH CONFIGURATION Release ===
/Users/builder/clone/ios/Runner/GeneratedPluginRegistrant.m:6:9: fatal error: 'flutter_barcode_scanner/FlutterBarcodeScannerPlugin.h' file not found
#import <flutter_barcode_scanner/FlutterBarcodeScannerPlugin.h>
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.

Encountered error while building for device

To Reproduce
Steps to reproduce the behavior:

  1. import the lib in an existing project in android studio
  2. enable swift by creating another app and replace ios folder
  3. specify deployment target by manually creating a Podfile in ios folder with following content
    image
  4. Import to codemagic and build for ios
  5. See error

Expected behavior
ios build successfully

Screenshots
image

Not working for iOS

I am not sure where to post, so please bear with me. I follow the plugin documentation and created new project using IntelliJ and I choose swift for my project. It worked perfectly for android but I am having issue to do it for iOS. When I try to build for iOS using iPhone 6 I got below error.

Any idea why I am having this issues?

Error:

Launching lib/main.dart on iPhone in debug mode...
Automatically signing iOS for device deployment using specified development team in Xcode ...
Running pod install...
CocoaPods' output:
↳
      Preparing

    Analyzing dependencies

    Inspecting targets to integrate
      Using `ARCHS` setting to build architectures of target `Pods-Runner`: (``)

    Fetching external sources
    -> Fetching podspec for `Flutter` from `.symlinks/flutter/ios`
    -> Fetching podspec for `flutter_barcode_scanner` from `.symlinks/plugins/flutter_barcode_scanner/ios`
    -> Fetching podspec for `image_crop` from `.symlinks/plugins/image_crop/ios`
    -> Fetching podspec for `image_picker` from `.symlinks/plugins/image_picker/ios`
    -> Fetching podspec for `path_provider` from `.symlinks/plugins/path_provider/ios`

    Resolving dependencies of `Podfile`
    [!] CocoaPods could not find compatible versions for pod "flutter_barcode_scanner":
      In Podfile:
        flutter_barcode_scanner (from `.symlinks/plugins/flutter_barcode_scanner/ios`)

    Specs satisfying the `flutter_barcode_scanner (from `.symlinks/plugins/flutter_barcode_scanner/ios`)` dependency were found, but they required a higher minimum deployment target.

    /usr/local/Cellar/cocoapods/1.5.3/libexec/gems/molinillo-0.6.6/lib/molinillo/resolution.rb:328:in `raise_error_unless_state'
    /usr/local/Cellar/cocoapods/1.5.3/libexec/gems/molinillo-0.6.6/lib/molinillo/resolution.rb:310:in `block in unwind_for_conflict'
    /usr/local/Cellar/cocoapods/1.5.3/libexec/gems/molinillo-0.6.6/lib/molinillo/resolution.rb:308:in `tap'
    /usr/local/Cellar/cocoapods/1.5.3/libexec/gems/molinillo-0.6.6/lib/molinillo/resolution.rb:308:in `unwind_for_conflict'
    /usr/local/Cellar/cocoapods/1.5.3/libexec/gems/molinillo-0.6.6/lib/molinillo/resolution.rb:684:in `attempt_to_activate'
    /usr/local/Cellar/cocoapods/1.5.3/libexec/gems/molinillo-0.6.6/lib/molinillo/resolution.rb:254:in `process_topmost_state'
    /usr/local/Cellar/cocoapods/1.5.3/libexec/gems/molinillo-0.6.6/lib/molinillo/resolution.rb:182:in `resolve'
    /usr/local/Cellar/cocoapods/1.5.3/libexec/gems/molinillo-0.6.6/lib/molinillo/resolver.rb:43:in `resolve'
    /usr/local/Cellar/cocoapods/1.5.3/libexec/gems/cocoapods-1.5.3/lib/cocoapods/resolver.rb:123:in `resolve'
    /usr/local/Cellar/cocoapods/1.5.3/libexec/gems/cocoapods-1.5.3/lib/cocoapods/installer/analyzer.rb:781:in `block in resolve_dependencies'
    /usr/local/Cellar/cocoapods/1.5.3/libexec/gems/cocoapods-1.5.3/lib/cocoapods/user_interface.rb:64:in `section'
    /usr/local/Cellar/cocoapods/1.5.3/libexec/gems/cocoapods-1.5.3/lib/cocoapods/installer/analyzer.rb:779:in `resolve_dependencies'
    /usr/local/Cellar/cocoapods/1.5.3/libexec/gems/cocoapods-1.5.3/lib/cocoapods/installer/analyzer.rb:88:in `analyze'
    /usr/local/Cellar/cocoapods/1.5.3/libexec/gems/cocoapods-1.5.3/lib/cocoapods/installer.rb:243:in `analyze'
    /usr/local/Cellar/cocoapods/1.5.3/libexec/gems/cocoapods-1.5.3/lib/cocoapods/installer.rb:154:in `block in resolve_dependencies'
    /usr/local/Cellar/cocoapods/1.5.3/libexec/gems/cocoapods-1.5.3/lib/cocoapods/user_interface.rb:64:in `section'
    /usr/local/Cellar/cocoapods/1.5.3/libexec/gems/cocoapods-1.5.3/lib/cocoapods/installer.rb:153:in `resolve_dependencies'
    /usr/local/Cellar/cocoapods/1.5.3/libexec/gems/cocoapods-1.5.3/lib/cocoapods/installer.rb:116:in `install!'
    /usr/local/Cellar/cocoapods/1.5.3/libexec/gems/cocoapods-1.5.3/lib/cocoapods/command/install.rb:41:in `run'
    /usr/local/Cellar/cocoapods/1.5.3/libexec/gems/claide-1.0.2/lib/claide/command.rb:334:in `run'
    /usr/local/Cellar/cocoapods/1.5.3/libexec/gems/cocoapods-1.5.3/lib/cocoapods/command.rb:52:in `run'
    /usr/local/Cellar/cocoapods/1.5.3/libexec/gems/cocoapods-1.5.3/bin/pod:55:in `<top (required)>'
    /usr/local/Cellar/cocoapods/1.5.3/libexec/bin/pod:22:in `load'
    /usr/local/Cellar/cocoapods/1.5.3/libexec/bin/pod:22:in `<main>'

Error output from CocoaPods:
↳

    [!] Automatically assigning platform `ios` with version `8.0` on target `Runner` because no platform was specified. Please specify a platform for this target in your Podfile. See `https://guides.cocoapods.org/syntax/podfile.html#platform`.

Finished with error: Error running pod install

OutOfMemoryError

Describe the bug
When running the example on Android, when scanning the barcode, if you turn the flash on and off 10 times it gives an error.

To Reproduce
Steps to reproduce the behavior:

  1. Go to ' Barcode scan'
  2. Click on ' Start barcode scan'
    'press the flash button 10 or more times'
  3. See error

Expected behavior
The application does not end with OutOfMemoryError

Smartphone (please complete the following information):

  • Device: moto g / moto x4 (press 20 times )
  • OS: Android 7 / Android 9

Additional context
Output of error.

E/AndroidRuntime(11925): FATAL EXCEPTION: main
E/AndroidRuntime(11925): Process: com.amolg.flutterbarcodescannerexample, PID: 11925
E/AndroidRuntime(11925): java.lang.OutOfMemoryError: Failed to allocate a 1843213 byte allocation with 910544 free bytes and 885KB until OOM
E/AndroidRuntime(11925): 	at com.amolg.flutterbarcodescanner.camera.CameraSource.createPreviewBuffer(CameraSource.java:931)
E/AndroidRuntime(11925): 	at com.amolg.flutterbarcodescanner.camera.CameraSource.createCamera(CameraSource.java:751)
E/AndroidRuntime(11925): 	at com.amolg.flutterbarcodescanner.camera.CameraSource.start(CameraSource.java:323)
E/AndroidRuntime(11925): 	at com.amolg.flutterbarcodescanner.camera.CameraSourcePreview.startIfReady(CameraSourcePreview.java:92)
E/AndroidRuntime(11925): 	at com.amolg.flutterbarcodescanner.camera.CameraSourcePreview.start(CameraSourcePreview.java:66)
E/AndroidRuntime(11925): 	at com.amolg.flutterbarcodescanner.camera.CameraSourcePreview.start(CameraSourcePreview.java:73)
E/AndroidRuntime(11925): 	at com.amolg.flutterbarcodescanner.BarcodeCaptureActivity.startCameraSource(BarcodeCaptureActivity.java:325)
E/AndroidRuntime(11925): 	at com.amolg.flutterbarcodescanner.BarcodeCaptureActivity.onClick(BarcodeCaptureActivity.java:392)
E/AndroidRuntime(11925): 	at android.view.View.performClick(View.java:5637)
E/AndroidRuntime(11925): 	at android.view.View$PerformClick.run(View.java:22433)
E/AndroidRuntime(11925): 	at android.os.Handler.handleCallback(Handler.java:751)
E/AndroidRuntime(11925): 	at android.os.Handler.dispatchMessage(Handler.java:95)
E/AndroidRuntime(11925): 	at android.os.Looper.loop(Looper.java:154)
E/AndroidRuntime(11925): 	at android.app.ActivityThread.main(ActivityThread.java:6128)
E/AndroidRuntime(11925): 	at java.lang.reflect.Method.invoke(Native Method)
E/AndroidRuntime(11925): 	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:889)
E/AndroidRuntime(11925): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:779)

Camara in Android.hardware has been deprecated

Describe the bug
C:\src\flutter.pub-cache\hosted\pub.dartlang.org\flutter_barcode_scanner-0.1.7\android\src\main\java\com\amolg\flutterbarcodescanner\camera\CameraSource.java:24: warning: [deprecation] Camera in android.hardware has been deprecated

import android.hardware.Camera;
C:\src\flutter.pub-cache\hosted\pub.dartlang.org\flutter_barcode_scanner-0.1.7\android\src\main\java\com\amolg\flutterbarcodescanner\camera\CameraSource.java:25: warning: [deprecation] Camera in android.hardware has been deprecated

import android.hardware.Camera.CameraInfo;

buildscript {
ext.kotlin_version = '1.3.50'
repositories {
google()
jcenter()
}

dependencies {
    classpath 'com.android.tools.build:gradle:3.3.1'
    classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
}

}

allprojects {
repositories {
google()
jcenter()
}
}

rootProject.buildDir = '../build'
subprojects {
project.buildDir = "${rootProject.buildDir}/${project.name}"
}
subprojects {
project.evaluationDependsOn(':app')
gradle.projectsEvaluated {
tasks.withType(JavaCompile) {
options.compilerArgs << "-Xlint:deprecation" << "-Xlint:unchecked"
}
}
}

task clean(type: Delete) {
delete rootProject.buildDir
}
gradle.properties:
android.useAndroidX=true
android.enableJetifier=true

AndroidX error

iOS is working and now I am having AndroidX error. Any idea how can I resolve this issue?

Launching lib/main.dart on SM G935F in debug mode...
Initializing gradle...
Resolving dependencies...
Running Gradle task 'assembleDebug'...

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:preDebugBuild'.
> Android dependency 'androidx.core:core' has different version for the compile (1.0.0) and runtime (1.0.1) classpath. You should manually set the same version via DependencyResolution

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUİLD FAILED in 14s
*******************************************************************************************
The Gradle failure may have been because of AndroidX incompatibilities in this Flutter app.
See https://goo.gl/CP92wY for more information on the problem and how to fix it.
*******************************************************************************************
Finished with error: Gradle task assembleDebug failed with exit code 1

iOS landscape orientation error

Describe the bug
When rotating the device the camera does not rotate.

To Reproduce
Call FlutterBarcodeScanner.scanBarcode() and rotate the device.

Expected behavior
That the camera rotate with the device.

Screenshots
18227

Smartphone (please complete the following information):

  • Device: iPhone X
  • OS: iOS13.1.3

Target of URI doesn't exist

Describe the bug
after adding pubspec.yaml flutter_barcode_scanner: could not import plugin

To Reproduce
Steps to reproduce the behavior:

  1. add pubspec.yaml flutter_barcode_scanner:
  2. add a file import 'package:flutter_barcode_scanner/flutter_barcode_scanner.dart';
  3. flutter packages get
  4. Target of URI doesn't exist

Screenshots

image

"Real" continuous scanning

I have a need to detect only barcodes that have been visible to the camera for a certain time.

For this use case it would be useful if we could get a mode where continuous scanning would deliver a continuous stream of events, not only one event for each barcode. What I would like is a steady flow of events, even when the camera is still seeing the same barcode. That way one could determine if a barcode has been visible for a consecutive amount of time or if it just flipped by the camera quickly.

I guess one (ugly) solution would be to use single scan mode and each time a barcode is scanned start a timer that would perform a scan after X amount of time, and if the same barcode is still visible the app would assume that it has been present between the first and second scan.

Another solution would be to have a setting in the plugin, where a barcode has to be visible to the plugin at least X amount of time to be considered a "hit", although it seems that a continuous mode that delivers a steady flow of events to the app would be more versatile.

A third option would be if the plugin implemented both a "enter" and "leave" event, so the app could determine how long the barcode was visible.

iOS: FlutterBarcodeScanner.scanBarcode doesn't return any result if Cancel pressed

iOS only : FlutterBarcodeScanner.scanBarcode doesn't return any result if Cancel pressed. After scanning result is returned.

[✓] Flutter (Channel dev, v1.10.3, on Mac OS X 10.14.6 18G95, locale ru-RU)
• Flutter version 1.10.3 at /Users/pavelmiheev/Flutter
• Framework revision 2f3515de31 (5 days ago), 2019-09-13 17:52:41 -0400
• Engine revision 7d8c6d9c1a
• Dart version 2.6.0 (build 2.6.0-dev.0.0 a554c8be6b)

[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.2)
• Android SDK at /Users/pavelmiheev/Library/Android/sdk
• Android NDK location not configured (optional; useful for native profiling support)
• Platform android-29, build-tools 29.0.2
• Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
• Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b49-5587405)
• All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 10.3)
• Xcode at /Applications/Xcode.app/Contents/Developer
• Xcode 10.3, Build version 10G8
• CocoaPods version 1.7.2

[✓] Android Studio (version 3.5)
• Android Studio at /Applications/Android Studio.app/Contents
• Flutter plugin version 39.0.3
• Dart plugin version 191.8423
• Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b49-5587405)

[✓] Connected device (2 available)
• iPhone XXXX • 50f1a53ba6ebaa22d7b449ca4f4eefa01a099939 • ios • iOS 12.4.1
• iPhone Xʀ • B75FF4F6-F864-49AB-9FEA-ACAC18A55B46 • ios • com.apple.CoreSimulator.SimRuntime.iOS-12-4 (simulator)

Swift Version 5

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.

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)

Fatal Error: module map not found

Hi,

Have cleaned, removed pods, pod install but cannot run the project after adding this plugin. Getting the following:

fatal error: module map file '/Users/rgb/Repositories/app_flutter/build/ios/Debug-iphonesimulator/flutter_barcode_scanner/flutter_barcode_scanner.modulemap' not found

Any ideas?

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

[feature] Use ML kit API

play-services-vision is deprecated in favor of the ML Kit api.

https://developers.google.com/vision/android/barcodes-overview

"The Mobile Vision API is now a part of ML Kit. We strongly encourage you to try it out, as it comes with new capabilities like on-device image labeling! Also, note that we ultimately plan to wind down the Mobile Vision API, with all new on-device ML capabilities released via ML Kit."

Docs are here:

https://firebase.google.com/docs/ml-kit/android/read-barcodes

Unexpected duplicate tasks:

When run in android studio I get the following message:

Xcode's output:

error: Unexpected duplicate tasks:
1) Target 'flutter_barcode_scanner' (project 'Pods') has copy command from '/Users/hapo/dev/sdk/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_barcode_scanner-0.1.7/ios/Classes/resource.bundle/ic_flash_on.png' to '/Users/hapo/dev/work_space/flutter/simple_cmms_demo/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/hapo/dev/sdk/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_barcode_scanner-0.1.7/ios/Classes/resource.bundle/ic_flash_on.png' to '/Users/hapo/dev/work_space/flutter/simple_cmms_demo/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/hapo/dev/sdk/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_barcode_scanner-0.1.7/ios/Classes/resource.bundle/ic_flash_off.png' to '/Users/hapo/dev/work_space/flutter/simple_cmms_demo/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/hapo/dev/sdk/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_barcode_scanner-0.1.7/ios/Classes/resource.bundle/ic_flash_off.png' to '/Users/hapo/dev/work_space/flutter/simple_cmms_demo/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

But, When I change the Deployment Version to 10 in Xcode it runs.

Smartphone (please complete the following information):

  • Device: iPhone XR
  • OS: 12

Barcode Scanning Line

Is your feature request related to a problem? Please describe.
Can we stop the barcode line from moving?

Describe the solution you'd like
Have the line just in the middle

Describe alternatives you've considered

Additional context

If user doesn't give camera permission widget error

If user doesn't give camera permission and try to use next time and also doesn't give camera permission there is a widget error.

Any idea?

E/flutter (15578): [ERROR:flutter/lib/ui/ui_dart_state.cc(148)] Unhandled Exception: Looking up a deactivated widget's ancestor is unsafe.
E/flutter (15578): At this point the state of the widget's element tree is no longer stable.
E/flutter (15578): To safely refer to a widget's ancestor in its dispose() method, save a reference to the ancestor by calling inheritFromWidgetOfExactType() in the widget's didChangeDependencies() method.
E/flutter (15578): #0      Element._debugCheckStateIsActiveForAncestorLookup.<anonymous closure> (package:flutter/src/widgets/framework.dart:3389:9)
E/flutter (15578): #1      Element._debugCheckStateIsActiveForAncestorLookup (package:flutter/src/widgets/framework.dart:3403:6)

Camera overlay

Hello, nice scanner :)
It would be nice to have both a qr code and barcode camera overlay.
It works the same will just look better on the screen.
Square overlay for qr (as you have now) and rectangular overlay for barcodes.

Eks: String barcodeScanRes = await FlutterBarcodeScanner.scanBarcode(SCAN_MODE,COLOR_CODE,CANCEL_BUTTON_TEXT,isShowFlashIcon);

Cancel button event listener

is there a way to listen for when the user presses the cancel button?

When using the barcode scanner with a BLoC pattern, i'm firing an event to trigger the barcode scanner to run, but is there some event i can listen for when it cancels so I can reset the state?

Scan not working on lower-end phones

Problem
The scan does not work on lower-end phones. The camera does not give a good enough resolution and it does not grab the barcode.

Potential solution
Use the front camera to scan. I used this solution with another lib and it worked, but this lib now being unmaintained I am looking for an alternative. It would be great to be able to scan with the front camera.

Alternative
Add an option to manually manage the resolution. As the scan with the back camera works in some other Android apps it might be a resolution selection problem

IOS build error

Hi. I convert my flutter objc code to swift and i have some error. Help please...

    In module 'flutter_barcode_scanner' imported from /Users/alezhka/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_barcode_scanner-0.0.7/ios/Classes/FlutterBarcodeScannerPlugin.m:2:
    /Users/alezhka/Workspace/Funtick-mobile/build/ios/Debug-dev-iphoneos/flutter_barcode_scanner/flutter_barcode_scanner.framework/Headers/FlutterBarcodeScannerPlugin.h:3:12: note: previous definition is here
    @interface FlutterBarcodeScannerPlugin : NSObject<FlutterPlugin>
               ^
    1 error generated.

scanmode not working properly

FlutterBarcodeScanner.scanBarcode(
        "#F04F33", "Cancel", true, ScanMode.BARCODE);

it should ignore qrcode result and getting only barcode result right ?
but it just not working scanning qr code.

is it not possible programmatically on IOS ?

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.

Can this works on android phones that dont have gms battery-included ?

Is your feature request related to a problem? Please describe.

when i run a demo of this plugin on android emulator, i got this msg.

image

most android phones in China don't have google play services out-of-the-box, so i'm wondering if this can work on a phone that don't have gms ?

Thanks !

Gradle sync error

Describe the bug
Gradle sync fails every time with message: Android dependency 'com.google.android.gms:play-services-flags' has different version for the compile (16.0.1) and runtime (17.0.0) classpath. You should manually set the same version via DependencyResolution

Expected behavior
Gradle sync normaly

Smartphone (please complete the following information):

  • Device: Android emolator
  • OS: Android Q

【Android】No implementation found for method scanBarcode on channel flutter_barcode_scanner

E/flutter (22956): [ERROR:flutter/lib/ui/ui_dart_state.cc(148)] Unhandled Exception: MissingPluginException(No implementation found for method scanBarcode on channel flutter_barcode_scanner)
E/flutter (22956): #0      MethodChannel.invokeMethod (package:flutter/src/services/platform_channel.dart:300:7)
E/flutter (22956): <asynchronous suspension>
E/flutter (22956): # 1      FlutterBarcodeScanner.scanBarcode (package:flutter_barcode_scanner/flutter_barcode_scanner.dart:27:43)
E/flutter (22956): <asynchronous suspension>
E/flutter (22956): # 2      _MyAppState.initPlatformState (package:flutter_barcode_scanner_example/main.dart:28:39)
E/flutter (22956): <asynchronous suspension>
E/flutter (22956): # 3      _MyAppState.build.<anonymous closure>.<anonymous closure> (package:flutter_barcode_scanner_example/main.dart:59:23)
E/flutter (22956): # 4      _InkResponseState._handleTap (package:flutter/src/material/ink_well.dart:511:14)
E/flutter (22956): # 5      _InkResponseState.build.<anonymous closure> (package:flutter/src/material/ink_well.dart:566:30)
flutter doctor -v 
[✓] Flutter (Channel stable, v1.5.4-hotfix.2, on Mac OS X 10.14.4 18E226, locale
    zh-Hans-CN)
    • Flutter version 1.5.4-hotfix.2 at
• Framework revision 7a4c33425d (11 days ago), 2019-04-29 11:05:24 -0700
    • Engine revision 52c7a1e849
    • Dart version 2.3.0 (build 2.3.0-dev.0.5 a1668566e5)

[✓] Android Studio (version 3.4)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin version 35.0.1
    • Dart plugin version 183.6270
    • Java version OpenJDK Runtime Environment (build
      1.8.0_152-release-1343-b01)

sometime crash on android

Describe the bug
Sometime, when I scan qr code, app quit (crash).

To Reproduce
Do some scan on android phone

Screenshots
If applicable, add screenshots to help explain your problem.

Smartphone (please complete the following information):

  • Device: Android 9
  • OS: 9

Additional context

Build fingerprint: 'Xiaomi/nitrogen/nitrogen:9/PKQ1.181007.001/V10.3.5.0.PEDMIXM:user/release-keys'
Revision: '0'
ABI: 'arm64'
pid: 3470, tid: 7026, name: Thread-59  >>> com.example.greeno <<<
signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0xc
Cause: null pointer dereference
    x0  0000000000000000  x1  00000073b24447e0  x2  1fc0000000000000  x3  0000000000000003
    x4  0000000000000000  x5  00000073b2d11188  x6  0000000000000001  x7  000000000000b400
    x8  6c60ca0ad6c07d8a  x9  6c60ca0ad6c07d8a  x10 0000000000000041  x11 0000000000000000
    x12 0000000000002759  x13 0000000000004f40  x14 0000000000000700  x15 aaaaaaaaaaaaaaab
    x16 000000745b292bd0  x17 000000745b213998  x18 0000000000000000  x19 00000073aaf3da88
    x20 00000073aaf3da70  x21 00000073aaf3dc10  x22 0000000000000001  x23 0000000000000000
    x24 0000000000000000  x25 0000000045af6000  x26 00000000443b8000  x27 0000000044350000
    x28 0000000044450000  x29 00000073aaf3e540
    sp  00000073aaf3d9c0  lr  00000073a619ef3c  pc  00000073a619ef44
backtrace:
    #00 pc 000000000001bf44  /data/data/com.google.android.gms/app_vision/barcode/libs/arm64-v8a/libbarhopper.so
    #01 pc 000000000001110c  /data/data/com.google.android.gms/app_vision/barcode/libs/arm64-v8a/libbarhopper.so
    #02 pc 0000000000005bf4  /data/data/com.google.android.gms/app_vision/barcode/libs/arm64-v8a/libbarhopper.so
    #03 pc 0000000000007674  /data/data/com.google.android.gms/app_vision/barcode/libs/arm64-v8a/libbarhopper.so
    #04 pc 0000000000003624  /data/data/com.google.android.gms/app_vision/barcode/libs/arm64-v8a/libbarhopper.so
    #05 pc 0000000000004c8c  /data/data/com.google.android.gms/app_vision/barcode/libs/arm64-v8a/libbarhopper.so
    #06 pc 000000000055fde0  /system/lib64/libart.so (art_quick_generic_jni_trampoline+144)
    #07 pc 0000000000041210  /dev/ashmem/dalvik-jit-code-cache (deleted) (com.google.android.gms.vision.barcode.internal.NativeBarcodeDetector.a+336)
    #08 pc 0000000000047ccc  /dev/ashmem/dalvik-jit-code-cache (deleted) (ld.a+748)
    #09 pc 0000000000048f04  /dev/ashmem/dalvik-jit-code-cache (deleted) (t.onTransact+196)
    #10 pc 000000000004553c  /dev/ashmem/dalvik-jit-code-cache (deleted) (android.os.Binder.transact+140)
    #11 pc 0000000000043378  /dev/ashmem/dalvik-jit-code-cache (deleted) (com.google.android.gms.internal.vision.zza.zza+120)
    #12 pc 0000000000045390  /dev/ashmem/dalvik-jit-code-cache (deleted) (com.google.android.gms.internal.vision.zzi.zza+128)
    #13 pc 000000000004b2dc  /dev/ashmem/dalvik-jit-code-cache (deleted) (com.google.android.gms.internal.vision.zzg.zza+252)
    #14 pc 000000000004aee0  /dev/ashmem/dalvik-jit-code-cache (deleted) (com.google.android.gms.vision.barcode.BarcodeDetector.detect+288)
    #15 pc 000000000004ab0c  /dev/ashmem/dalvik-jit-code-cache (deleted) (com.google.android.gms.vision.Detector.receiveFrame+156)
    #16 pc 0000000000044da0  /dev/ashmem/dalvik-jit-code-cache (deleted) (com.amolg.flutterbarcodescanner.camera.CameraSource$FrameProcessingRunnable.run+544)
    #17 pc 0000000000556d88  /system/lib64/libart.so (art_quick_invoke_stub+584)
    #18 pc 00000000000cfcc8  /system/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+200)
    #19 pc 0000000000280338  /system/lib64/libart.so (art::interpreter::ArtInterpreterToCompiledCodeBridge(art::Thread*, art::ArtMethod*, art::ShadowFrame*, unsigned short, art::JValue*)+344)
    #20 pc 000000000027a34c  /system/lib64/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+968)
    #21 pc 00000000005273b8  /system/lib64/libart.so (MterpInvokeInterface+1392)
    #22 pc 0000000000549594  /system/lib64/libart.so (ExecuteMterpImpl+14740)
    #23 pc 00000000000dff84  /system/framework/boot-core-oj.vdex (java.lang.Thread.run+12)
    #24 pc 0000000000254050  /system/lib64/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEb.llvm.2198905147+488)
    #25 pc 0000000000516cf0  /system/lib64/libart.so (artQuickToInterpreterBridge+1020)
    #26 pc 000000000055fefc  /system/lib64/libart.so (art_quick_to_interpreter_bridge+92)
    #27 pc 0000000000556d88  /system/lib64/libart.so (art_quick_invoke_stub+584)
    #28 pc 00000000000cfcc8  /system/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+200)
    #29 pc 000000000045dd58  /system/lib64/libart.so (art::(anonymous namespace)::InvokeWithArgArray(art::ScopedObjectAccessAlreadyRunnable const&, art::ArtMethod*, art::(anonymous namespace)::ArgArray*, art::JValue*, char const*)+104)
    #30 pc 000000000045ee14  /system/lib64/libart.so (art::InvokeVirtualOrInterfaceWithJValues(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jmethodID*, jvalue*)+424)
    #31 pc 0000000000489c9c  /system/lib64/libart.so (art::Thread::CreateCallback(void*)+1120)
    #32 pc 00000000000901ac  /system/lib64/libc.so (__pthread_start(void*)+36)
    #33 pc 00000000000239a8  /system/lib64/libc.so (__start_thread+68)

It works very slow, even it doesn't even work

Describe the bug
I developed the app based on its documentation and when using the scanner I do not receive an answer, that is, it does not read and when it comes to reading it takes more than 3 minutes with the immobile device but it is only times, 1 of 10 attempts, the codes are printed and is well focused

To Reproduce
Steps to reproduce the behavior:

  1. Click on 'floating action button'
  2. the screen apper.
  3. i give permission
  4. i dont recibe anserw.

Smartphone (please complete the following information):

  • Device: [Motorola E4 plus]
  • OS: [Android 7.1.1]

Additional context
I test with others version but the issue is the same

Close barcode scanner whilst streaming.

Is your feature request related to a problem? Please describe.
It's not possible to close the barcode scanner once you are happy with the result from the screen.

Describe the solution you'd like
A method that will tell the barcode scanner to close

Describe alternatives you've considered
FlutterBarcodeScanner.getBarcodeStreamReceiver("#000000", "Cancel", true).listen((d) => print(d));
await Future.delayed(Duration(seconds: 1));
Navigator.pop(context);

Additional context
When I call navigator.pop it closed the screen behind the barcode scanner. It would be great if I could call FlutterBarcodeScanner.closeBarcodeScanner() once i have processed an item from the screen and verified it.

No Swift version set

  • flutter_barcode_scanner does not specify a Swift version and none of the targets (Runner) integrating it have the SWIFT_VERSION attribute set. Please contact the author or set the SWIFT_VERSION attribute in at least one of the targets that integrate this pod.

Can't find activity

On android, show error:
E/FlutterBarcodeScannerPlugin(19340): startView: Unable to find explicit activity class {anguo.com.smartlockflutter/com.amolg.flutterbarcodescanner.BarcodeCaptureActivity}; have you declared this activity in your AndroidManifest.xml?
I/flutter (19340):

It looks like the Activity not found.

Example project does not work on OSX 10.13.6

Describe the bug

Checked out code on OSX 10.13.6 with XCode Version 10.1 (10B61)

cd example

flutter pub get
flutter run

Xcode's output:

=== BUILD TARGET flutter_barcode_scanner OF PROJECT Pods WITH CONFIGURATION Debug ===
The “Swift Language Version” (SWIFT_VERSION) build setting must be set to a supported value for targets which use Swift. Supported values
are: 3.0, 4.0, 4.2. This setting can be set in the build settings editor.

changed podfile

post_install do |installer|
installer.pods_project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings['SWIFT_VERSION'] = '4.2' # required by simple_permission
config.build_settings['ENABLE_BITCODE'] = 'NO'
end
end
end

flutter run

Xcode's output:

=== BUILD TARGET flutter_barcode_scanner OF PROJECT Pods WITH CONFIGURATION Debug ===
:0: error: underlying Objective-C module 'flutter_barcode_scanner' not found
=== BUILD TARGET flutter_barcode_scanner OF PROJECT Pods WITH CONFIGURATION Debug ===
:0: error: merge-module command failed with exit code 1 (use -v to see invocation)
Command /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swiftc failed with exit code 1

changed target to 11

flutter run

Launching lib/main.dart on iPhone XR in debug mode...
Running pod install... 0.7s
Running Xcode build...

Xcode build done. 3.7s
Failed to build iOS app
Error output from Xcode build:

** BUILD FAILED **

flutter run
Xcode's output:

=== BUILD TARGET Runner OF PROJECT Runner WITH CONFIGURATION Debug ===
The “Swift Language Version” (SWIFT_VERSION) build setting must be set to a supported value for targets which use Swift. Supported values
are: 3.0, 4.0, 4.2. This setting can be set in the build settings editor.

Could not build the application for the simulator.

in Xcode changed Swift to 4.2 and was able to build example project

Konstantins-iMac:example kgignatyev$ flutter run
Launching lib/main.dart on iPhone XR in debug mode...
Running pod install... 0.8s
Running Xcode build...
├─Assembling Flutter resources... 1.0s
└─Compiling, linking and signing... 5.8s
Xcode build done. 8.6s
Syncing files to device iPhone XR... 1,133ms

Permission error messages localization

Is your feature request related to a problem? Please describe.
The problem is that the language in wich the error is shown is different from the language in wich the app is presented

Describe the solution you'd like
A way to modify error messages

Describe alternatives you've considered
None

Additional context
None

'flutter_barcode_scanner/flutter_barcode_scanner-Swift.h' file not found??

Describe the bug
A clear and concise description of what the bug is.

To Reproduce
Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Expected behavior
A clear and concise description of what you expected to happen.

Screenshots
If applicable, add screenshots to help explain your problem.

Smartphone (please complete the following information):

  • Device: [e.g. iPhone6]
  • OS: [e.g. iOS8.1]
  • Browser [e.g. stock browser, safari]
  • Version [e.g. 22]

Additional context
Add any other context about the problem here.

Crash on Android

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
com.amolg.flutterbarcodescanner.FlutterBarcodeScannerPlugin.onActivityResult

  • Device: Pixel 1
  • OS: android 10
  • Version plugin: ^0.1.7

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.