contactlutforrahman / flutter_qr_bar_scanner

A full screen mobile scanner for scanning QR Code and Bar Code.
MIT License
33 stars 69 forks source link

Mobilevision using UIWebView #11

Closed LamimPaulo closed 3 years ago

LamimPaulo commented 4 years ago

Building to release on iOs seems imposible with mobile vision using deprecated content.

ITMS-90809: Deprecated API Usage - New apps that use UIWebView are no longer accepted. Instead, use WKWebView for improved security and reliability. Learn more (https://developer.apple.com/documentation/uikit/uiwebview).

DjangoOverloard commented 4 years ago

Please address this issue ASAP, still getting the same error as of 6th of July

Sadoge commented 4 years ago

The Google Mobile Vision api is deprecated (not maintained anymore and is now MLKit) and still uses the UIWebView in the package. It is best to do a complete overhaul since new apps will not be able to use this package anymore for iOS and existing ones have until December 2020 to resolve the issue or they won't be able to update their apps.

Sadoge commented 4 years ago

I have forked this repo and I replaced the GoogleMobileVision API with the MLKit (without firebase) for my own project, so if anyone can use that, here is the link https://github.com/Sadoge/flutter_qr_bar_scanner

teolemon commented 4 years ago

@Sadoge thanks a lot for the fork. I'm trying to build it for iOS (unsuccessfully so far). For people having the same issue, I've unsuccessfully tried: bumping ios deployment target to 10, commentating out use_frameworks!, wiping clean my podfile to get a fresh one.

    /Users/pierre/StudioProjects/smooth-app/packages/smooth_app/ios/Pods/MLKitCommon/Frameworks/MLKitCommon.framework/MLKitC
    ommon, missing required architecture armv7 in file
    /Users/pierre/StudioProjects/smooth-app/packages/smooth_app/ios/Pods/MLKitCommon/Frameworks/MLKitCommon.framework/MLKitC
    ommon (2 slices)
    Undefined symbols for architecture armv7:
      "_OBJC_CLASS_$_MLKVisionImage", referenced from:
          objc-class-ref in flutter_qr_bar_scanner(FlutterQrBarScannerPlugin.o)
      "_OBJC_CLASS_$_MLKBarcodeScanner", referenced from:
          objc-class-ref in flutter_qr_bar_scanner(FlutterQrBarScannerPlugin.o)
      "_OBJC_CLASS_$_MLKBarcodeScannerOptions", referenced from:
          objc-class-ref in flutter_qr_bar_scanner(FlutterQrBarScannerPlugin.o)
    ld: symbol(s) not found for architecture armv7
    clang: error: linker command failed with exit code 1 (use -v to see invocation)
Sadoge commented 4 years ago

@teolemon I have had the same issue while trying to use the MLKit, it has to do with the fact that the package only supports 64 bit devices. Here is a reference from the docs https://developers.google.com/ml-kit/vision/barcode-scanning/ios

teolemon commented 4 years ago

ah. thanks 👍 how did you restrict it to 64bits devices ? bumping the minimum ios version ? something else ?

Answering my question: https://stackoverflow.com/questions/33646553/ios-limit-app-to-64-bit-devices-only

Sadoge commented 4 years ago

@teolemon you can change the supported architectures for iOS when you open the project in Xcode. There in the settings you can specify which ones you want to build for, and only specify the ones that are 64 bit. After that it should build fine.

teolemon commented 4 years ago

Thank you @Sadoge the new Open Food Facts app is built and uploaded 👍 https://github.com/openfoodfacts/smooth-app

Pradeepkn commented 4 years ago

Hi, Will it be solved UIWebview to WKWebView? As this issue is not allowing us to submit TestFlight build as well.

LamimPaulo commented 4 years ago

Hi, Will it be solved UIWebview to WKWebView? As this issue is not allowing us to submit TestFlight build as well.

@Sadoge's fork works great.

pierrexn commented 4 years ago

Hi, I've tried the @Sadoge's fork, but there is a problem with Firebase

In Podfile:
    firebase_auth (from `.symlinks/plugins/firebase_auth/ios`) was resolved to 0.18.1-2, which depends on
      Firebase/Auth (~> 6.26.0) was resolved to 6.26.0, which depends on
        FirebaseAuth (~> 6.5.3) was resolved to 6.5.3, which depends on
          FirebaseCore (~> 6.6) was resolved to 6.7.2, which depends on
            FirebaseCoreDiagnostics (~> 1.3) was resolved to 1.4.0, which depends on
              GoogleDataTransportCCTSupport (~> 3.1) was resolved to 3.2.0, which depends on
                GoogleDataTransport (~> 6.1)
    flutter_qr_bar_scanner (from `.symlinks/plugins/flutter_qr_bar_scanner/ios`) was resolved to 0.0.1, which depends on
      GoogleMLKit/BarcodeScanning was resolved to 0.60.0, which depends on
        GoogleMLKit/MLKitCore (= 0.60.0) was resolved to 0.60.0, which depends on
          MLKitCommon (~> 0.60.0) was resolved to 0.60.0, which depends on
            GoogleDataTransport (~> 3.2)`
Sadoge commented 4 years ago

@pierrexn I haven't used this package together with firebase yet but it seems to be a version issue with one of the Google packages. I will check if there is already a newer version of MLKit available

contactlutforrahman commented 3 years ago

I've never had such issue. By the way, released new version just now with Null safety and compatible with Flutter version 2.2. If you want you can try it.