qr_scanner_alternative 1.0.4

qr_scanner_alternative 1.0.4

Glauber marcelino 维护。



  • 作者
  • Glauber Marcelino

qr_scanner_alternative

一个用于 Flutter 应用的插件,它为 Android 和 iOS 平台都添加了条形码扫描支持。

pub package

Demo gif

尝试示例

只需克隆或下载仓库,在 Android Studio/ VS Code 中打开项目,打开 pubspec.yaml 并点击 Packages get。连接设备并运行 run。要运行在 iPhone 上,需要首次从 Xcode 运行,然后只需在 example/ios 中执行 pod install,然后从 Xcode 运行。

入门

遵循 Android 和 iOS 的步骤

请仔细遵循 iOS 步骤

Android

⚡ 不必担心,您不需要做任何事情。

iOS - 需要 Swift 支持

部署目标:12

1. 新开始

  1. 创建一个新的 Flutter 项目。请检查 包含 iOS 代码的 Swift 支持
  2. 创建新的 Flutter 项目后,在 Xcode 中打开 /ios 项目,将最小的 部署目标设置为 12,并将 Swift 版本设置为 5
  3. 设置部署目标和使用 Swift 版本后,关闭 Xcode,然后在 flutter 项目中的 /ios 目录下运行 pod install

您已完成基本配置,现在请转到 如何使用 部分。

2. 添加到现有 Flutter 应用

如果您的现有 iOS 代码是 Swift,那么您只需按照以下步骤操作。

  1. 最小部署目标设置为 12,并将 Swift 版本设置为 5
  2. 关闭 Xcode,并在 flutter 项目中的 /ios 路径下运行 pod install
  3. 现在继续到 如何使用 部分。

如果您的现有 iOS 代码是 Objective-C,则需要按照以下步骤操作。

  1. 在不同的位置创建与现有项目同名的新 flutter 项目(创建时别忘了勾选 为 iOS 代码包含 Swift 支持)。
  2. 只需将新创建的项目中的 /ios 文件夹复制,并用现有 /ios 文件夹替换。
  3. 在 Xcode 中打开 ios 项目,并将 最小部署目标设置为 12,将 Swift 版本设置为 5
  4. /ios 中运行 pod install

注意:如果在 iOS 部分之前进行了任何更改,可能需要重新进行这些配置。

如何使用?

要在 iOS 上使用,您需要添加相机使用描述。请在 Xcode 中添加 Info.plist 中的相机使用描述。

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

在修改 Android 和 iOS 后,请将 qr_scanner_alternative/ 添加到 pubspec.yaml

dependencies:
  ...
  qr_scanner_alternative/: ^2.0.0

一次性扫描

  1. 首先需要导入该包。
import 'package:qr_scanner_alternative//qr_scanner_alternative/.dart';
  1. 然后使用scanBarcode方法来访问条形码扫描。
String barcodeScanRes = await QrScannerAlternative.scanBarcode(
                                                    COLOR_CODE, 
                                                    CANCEL_BUTTON_TEXT, 
                                                    isShowFlashIcon, 
                                                    scanMode);

scanBarcode中,

COLOR_CODE是十六进制颜色,代表条形码覆盖中线的颜色,可以传递您选择的颜色,

CANCEL_BUTTON_TEXT是屏幕上取消按钮的文本,您可以传递您选择的文本和语言,

isShowFlashIcon是用于显示或隐藏闪光灯图标的布尔值,

scanMode是一个枚举,用户可以传递{ QR, BARCODE, DEFAULT }中的任何一个,如果不传递任何内容,则默认为QR。它显示条形码和二维码的图形覆盖。

注:当前,scanMode仅用于显示条形码和二维码的图形覆盖。选择任何这种模式都会扫描条形码和二维码。

连续扫描

  • 如果您需要在不关闭相机的情况下连续扫描条形码,请使用QrScannerAlternative.getBarcodeStreamReceiver,参数与FlutterBarScannerAlterative.scanBarcode相同,例如。
QrScannerAlternative.getBarcodeStreamReceiver("#ff6666", "Cancel", false, ScanMode.DEFAULT)
         .listen((barcode) { 
         /// barcode to be used
         });

贡献

衷心希望看到任何贡献,如果您喜欢,请 ⭐ 点赞

联系

电子邮件: [email protected]