Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Maui support #74

Open
bulubuloa opened this issue Sep 6, 2023 · 13 comments
Open

Maui support #74

bulubuloa opened this issue Sep 6, 2023 · 13 comments

Comments

@bulubuloa
Copy link

  • Any plan to supporting for MAUI
@anjapenic
Copy link

Hi @bulubuloa, while our team doesn't have much experience with the MAUI platform at this moment, we do have clients who successfully implemented the latest BlinkID Xamarin SDK (5.17.0.) into their MAUI projects. If you need to implement BlinkID into your own MAUI project, please try using BlinkID Xamarin plugin. If you encounter any issues feel free to reach out to us and we'll try our best to assist you.

@Gogzs
Copy link

Gogzs commented Oct 19, 2023

@anjapenic

I'm one of those running BlinkID with MAUI (we made our own binding libraries, and ported the Android/iOS portions from here https://github.com/BlinkID/blinkid-xamarin/tree/master/Binding/Forms/BlinkID.Forms to our project).

Everything worked fine until we now tried to run it after the xCode15 update and iOS 17.

We get:

1>ld: Undefined symbols:
1>  _OBJC_CLASS_$_MBBlinkIdCombinedRecognizer, referenced from:
1>       in registrar.o
1>  _OBJC_CLASS_$_MBBlinkIdCombinedRecognizerResult, referenced from:
1>       in registrar.o
1>  _OBJC_CLASS_$_MBBlinkIdRecognizer, referenced from:
1>       in registrar.o
1>  _OBJC_CLASS_$_MBBlinkIdRecognizerResult, referenced from:
1>       in registrar.o
1>  _OBJC_CLASS_$_MBDataMatchDetailedInfo, referenced from:
1>       in registrar.o
1>clang: error: linker command failed with exit code 1 (use -v to see invocation)

I've seen some solutions to this problem (Linker set to SDK only, mtouch args --linkskip=MicroBlink...) but we can't get it to run on a iOS 17 device with xCode15 no matter what. Any ideas what else we could try?

@mparadina
Copy link

Hi @Gogzs

Allow me to jump in.

Just to double-check, you are running the SDK on a physical device, not a simulator?
Is it possible to share a minimal code sample so that we can reproduce the issue on our end?

@Gogzs
Copy link

Gogzs commented Oct 20, 2023

@mparadina
Yes, it's a physical device (iPhone SE 2023 - iOS17). As far as the minimal code sample goes, I will have something for you tomorrow. Thanks for jumping in.

@mparadina
Copy link

@Gogzs of course!
If sharing the code here is not possible, you can directly contact us at [email protected] so that we can review the implementation code in more detail.

@bulubuloa
Copy link
Author

@anjapenic

I'm one of those running BlinkID with MAUI (we made our own binding libraries, and ported the Android/iOS portions from here https://github.com/BlinkID/blinkid-xamarin/tree/master/Binding/Forms/BlinkID.Forms to our project).

Everything worked fine until we now tried to run it after the xCode15 update and iOS 17.

We get:

1>ld: Undefined symbols:
1>  _OBJC_CLASS_$_MBBlinkIdCombinedRecognizer, referenced from:
1>       in registrar.o
1>  _OBJC_CLASS_$_MBBlinkIdCombinedRecognizerResult, referenced from:
1>       in registrar.o
1>  _OBJC_CLASS_$_MBBlinkIdRecognizer, referenced from:
1>       in registrar.o
1>  _OBJC_CLASS_$_MBBlinkIdRecognizerResult, referenced from:
1>       in registrar.o
1>  _OBJC_CLASS_$_MBDataMatchDetailedInfo, referenced from:
1>       in registrar.o
1>clang: error: linker command failed with exit code 1 (use -v to see invocation)

I've seen some solutions to this problem (Linker set to SDK only, mtouch args --linkskip=MicroBlink...) but we can't get it to run on a iOS 17 device with xCode15 no matter what. Any ideas what else we could try?

Hi @Gogzs , Could you please share the "ApiDefinition.cs"
I tried to bind iOS lib and I got an error;
Android OK!

r/local/share/dotnet/packs/Microsoft.iOS.Sdk/17.0.8478/tools/msbuild/iOS/Xamarin.Shared.targets(187,3): error MSB4018: The "CreateBindingResourcePackage" task failed unexpectedly. /usr/local/share/dotnet/packs/Microsoft.iOS.Sdk/17.0.8478/tools/msbuild/iOS/Xamarin.Shared.targets(187,3): error MSB4018: System.Exception: Could not lstat '../../../iOS/Microblink.framework': 2 /usr/local/share/dotnet/packs/Microsoft.iOS.Sdk/17.0.8478/tools/msbuild/iOS/Xamarin.Shared.targets(187,3): error MSB4018: at Xamarin.Utils.PathUtils.IsSymlink(String file) in /Users/builder/azdo/_work/1/s/xamarin-macios/tools/common/PathUtils.cs:line 222 /usr/local/share/dotnet/packs/Microsoft.iOS.Sdk/17.0.8478/tools/msbuild/iOS/Xamarin.Shared.targets(187,3): error MSB4018: at Xamarin.Utils.PathUtils.IsSymlinkOrContainsSymlinks(String directoryOrFile) in /Users/builder/azdo/_work/1/s/xamarin-macios/tools/common/PathUtils.cs:line 229 /usr/local/share/dotnet/packs/Microsoft.iOS.Sdk/17.0.8478/tools/msbuild/iOS/Xamarin.Shared.targets(187,3): error MSB4018: at Xamarin.MacDev.Tasks.CreateBindingResourcePackageBase.ContainsSymlinks(ITaskItem[] items) in /Users/builder/azdo/_work/1/s/xamarin-macios/msbuild/Xamarin.MacDev.Tasks/Tasks/CreateBindingResourcePackageBase.cs:line 110 /usr/local/share/dotnet/packs/Microsoft.iOS.Sdk/17.0.8478/tools/msbuild/iOS/Xamarin.Shared.targets(187,3): error MSB4018: at Xamarin.MacDev.Tasks.CreateBindingResourcePackageBase.Execute() in /Users/builder/azdo/_work/1/s/xamarin-macios/msbuild/Xamarin.MacDev.Tasks/Tasks/CreateBindingResourcePackageBase.cs:line 46 /usr/local/share/dotnet/packs/Microsoft.iOS.Sdk/17.0.8478/tools/msbuild/iOS/Xamarin.Shared.targets(187,3): error MSB4018: at Xamarin.MacDev.Tasks.CreateBindingResourcePackage.Execute() in /Users/builder/azdo/_work/1/s/xamarin-macios/msbuild/Xamarin.MacDev.Tasks/Tasks/CreateBindingResourcePackage.cs:line 15 /usr/local/share/dotnet/packs/Microsoft.iOS.Sdk/17.0.8478/tools/msbuild/iOS/Xamarin.Shared.targets(187,3): error MSB4018: at Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute() /usr/local/share/dotnet/packs/Microsoft.iOS.Sdk/17.0.8478/tools/msbuild/iOS/Xamarin.Shared.targets(187,3): error MSB4018: at Microsoft.Build.BackEnd.TaskBuilder.ExecuteInstantiatedTask(ITaskExecutionHost taskExecutionHost, TaskLoggingContext taskLoggingContext, TaskHost taskHost, ItemBucket bucket, TaskExecutionMode howToExecuteTask) 34 Warning(s) 1 Error(s)

I'm using .net8

@MBrizic01
Copy link

Hello @bulubuloa, thank you for your feedback. As we previously communicated, unfortunately, we don't have any experience with MAUI and haven't tested v5.17. Xamarin with the latest iOS and Xcode versions as we stopped supporting it.
I will check with our P&E team if there are any plans to add support for MAUI.

@Gogzs
Copy link

Gogzs commented Jan 23, 2024

@bulubuloa

Sorry for the slow response... as I maid the minimal code sample, it turned out to work there as intended... went back to the project I was working on, and it started working there... might have been a gremlin in VS or something... never finished the code sample but I could potentially do it and publish during the next week if it's of any help...
And yeah, we also updated to .Net 8, everything works as intended on real devices...

@bulubuloa
Copy link
Author

bulubuloa commented May 10, 2024

I successfully bound and used Blink v6.7.0 for the iOS side, but failed to do so for Android.
I've posted the issue here: dotnet/android#8919
Source
I appreciate any help. @Gogzs @MBrizic01 @mparadina

@bulubuloa
Copy link
Author

I found that those custom attributes do not define the format type, and it could not build for Xamarin. Could we update the correct format type for the native library?
Screenshot at May 20 16-21-37

@anjapenic @medvedecrobertmb @mparadina

@bulubuloa
Copy link
Author

For anyone needing this:
This is the binding version for Net8-iOS and Net8-Droid. You can roll your own adapter in the shared code to access to the binding or use my example.
https://github.com/omnicasa/Omnicasa.Mobile.BlinkID
FY: @anjapenic

@mparadina
Copy link

Hi @bulubuloa

Thank you for the feedback, and apologies for keeping you waiting for this.

Regarding the issue you've reported previously with the Android side. The issue is causing the missing formats on the mentioned attributes, and this will be fixed with the next native Android BlinkID release, version 6.9.0.

Also, regarding the MAUI support, we are currently reviewing the effort needed to transition from Xamarin to MAUI, and to additionally update the SDK to the latest BlinkID version 6. We will have an update on this soon.

Thank you everyone for your patience.

@mparadina
Copy link

Hi all,

The native library for BlinkID Android, version 6.9.0, has been released.
The new AAR can be found here: https://github.com/BlinkID/blinkid-android/releases/tag/v6.9.0

Can you try using the new version and see if the issue is resolved now?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants