Flutter Windows向けQRコード読み取り試したが解決できず

はじめに

画像ファイルのQRコードを手軽に読み取りたいなと思い
まず、機能ライブラリが充実している Flutter が真っ先に選択対象となった
dev.pub でパッケージを探索して、Windows 対応している flutter_zxing を使ってみた

先に結論

flutter_zxing は Windows 対応したいな~って予定(WIP)の状態でビルドしようとすると、C++ コンパイルでエラー大量発生してビルドできないで終わる
そこでいろいろと足掻いたが、pub.dev の README にその答えが有った

2024-07-10 現在、

Supported platforms

Flutter ZXing supports the following platforms:

    Android (minimum API level 21)
    Windows (not working yet)

とあるじゃないですか!?

なぜ、もっとしっかりと README を読まなかったのか!?
他のライブラリでも、提供元のドキュメントをまずしっかりと読むことという教訓を得ていたのに

環境

  • Windows 10
  • Flutter 3
  • Visual Studio Code

使ってみる

自分の対象環境では、まだ使えないことは確定しているが、

https://pub.dev/packages/flutter_zxing
flutter_zxing 1.7.0

pubspec.yaml

dependencies:
  flutter_zxing: ^1.7.0

コード例)
ビルド失敗するので動作は不明!
こんなコードで読み込みをしたかったのですという内容

import 'dart:typed_data';
import 'package:flutter/material.dart';
import 'package:flutter/foundation.dart';
import 'package:flutter_zxing/flutter_zxing.dart';


    static Future<String?> scanCodeFromFile(String path) async {
        DecodeParams params = DecodeParams();
        Code? resultFromPath = await zx.readBarcodeImagePathString(path, params);
        print("text ${resultFromPath.text}");
        print("error ${resultFromPath.error}");
        print("format ${resultFromPath.format}");
        print("position ${resultFromPath.position}");
        print("valid ${resultFromPath.isValid}");
        return resultFromPath.text;
    }

まとめ

最終的に、使えない、使い方がわからない、バージョン違いでコードが全く書けないなどあらゆる障壁があるのが現在の開発環境です
それでも、提供元のドキュメントは英語でもしっかりと読むことを教訓にしていた
それでも、つい早く動かしたい気持ちがネット上のサンプルコードを貼り付けて動作させようとしてしまう
それですんなり動けば良し、躓いたら即座に教訓に立ち戻りしっかりと段階を踏むことを心掛けたい
(それも三歩歩けば忘れるのだろう)

タイトルとURLをコピーしました