Outdated bindings to Google ML Kit Vision Text Regognition api #472
Description
Because we’re using ML Kit for Firebase (https://firebase.google.com/docs/ml-kit) for on-device text recognition and this is an old version, we need to migrate to the actual version of ML Kit (https://developers.google.com/ml-kit/vision/text-recognition ).
As Dutch government, we develop our apps using Xamarin and we need to migrate as well our Xamarin.iOS as our Xamarin.Android implementation.
For Xamarin.iOS we’re using nuget package Xamarin.Firebase.iOS.MLKit.Vision version 0.21.0 from Microsoft while for Xamarin.Android we’re using nuget package Xamarin.GooglePlayServices.Vision version 120.1.3, also from Microsoft. These packages contain C# bindings to ML Kit for Firebase.
Surprisingly there seems to be no Xamarin nuget packages available for the current GoogleMLKit/TextRecognition (https://developers.google.com/ml-kit/vision/text-recognition). Neither for Xamarin.iOS nor for Xamarin.Android.
We did try to make bindings ourselves. While we did succeed in making and invoking these bindings, text is never recognized. In the console output the MLKit framework did write the following messages:
- [lvl=3] +[MLKITx_CCTClearcutUploader crashIfNecessary] Multiple instances of CCTClearcutUploader were instantiated. Multiple uploaders function correctly but have an adverse affect on battery performance due to lock contention.
- Failed to locate required resources. Please verify the resource bundle is imported.
- [lvl=3] -[MLKITx_GIPPseudonymousIDStore initializeStorage] Shared App Groups unavailable
We ask you to make nuget packages available for the current versions of Google MLKit, specifically for cocoapod GoogleMLKit/TextRecognition and maven repository com.google.android.gms:play-services-mlkit-text-recognition.
Related issue: xamarin/GooglePlayServicesComponents#420