Skip to content
This repository has been archived by the owner on May 1, 2024. It is now read-only.

Is this project abandoned? #645

Open
AdamEssenmacher opened this issue Jan 7, 2024 · 15 comments
Open

Is this project abandoned? #645

AdamEssenmacher opened this issue Jan 7, 2024 · 15 comments

Comments

@AdamEssenmacher
Copy link

Firebase 8.10.0 was released over two years ago. The current version is 10.19.1.

PRs to update, add missing APIs, and fix bugs have no response.

Commit history for years looks like just one guy barely keeping the bindings working through XCode and MAUI updates.

If Microsoft is done supporting Google/Firebase compatibility for iOS.NET, it would be nice to at least let the community know.

@AlleSchonWeg
Copy link

I asked the same question.
#627 (comment)

@AdamEssenmacher
Copy link
Author

I asked the same question.
#627 (comment)

@AlleSchonWeg, your comment might have been misinterpreted as a request for help and a (separate) statement/assertion that the repo 'looks' abandoned.

I'm not asking for help. I'm asking Xamarin/Microsoft directly if supporting Google/Firebase APIs on iOS is still something they're publicly committed to.

If the answer is 'yes,' then whoever is managing the backlog should be made aware that these bindings need immediate attention.

If the answer is 'no,' then Microsoft/Xamarin should clarify this and archive the repo.

In either case, the community deserves an answer so we can make decisions concerning the viability of using .NET for iOS development in the future.

@kpespisa
Copy link

kpespisa commented Jan 9, 2024

I completely agree. We're at a crossroads where we need to decide if we're going to migrate from Xamarin to .NET Maui, or move another platform. Support for third party library bindings, and keeping those bindings updated, is a major deciding factor.

@ninaada
Copy link

ninaada commented Feb 19, 2024

Still no reply or a response. Google services are one of the most commonly used features in all mobile apps. At least they should say whether this will be supported or not going forward.

@AdamEssenmacher
Copy link
Author

Issue #646 was moved here from the MAUI repo by the MAUI team recently, so it's not like they've forgotten about this repo. I know for a fact they've reviewed this issue.

I would reason that the team understands that these bindings are important--otherwise, they would have no qualms with archiving the repo and publically stating that official support for Google bindings on iOS.NET is no longer supported by Microsoft. I would also reason that the team has other priorities.

I've upgraded a subset of these bindings to recent versions for myself. It's tough. I've reached out to the MAUI team through multiple channels offering to help responsibly transition these bindings to community support if that's what needs to happen. No response yet, so here I am doing it again...

@vhugogarcia
Copy link

Issue #646 was moved here from the MAUI repo by the MAUI team recently, so it's not like they've forgotten about this repo. I know for a fact they've reviewed this issue.

I would reason that the team understands that these bindings are important--otherwise, they would have no qualms with archiving the repo and publically stating that official support for Google bindings on iOS.NET is no longer supported by Microsoft. I would also reason that the team has other priorities.

I've upgraded a subset of these bindings to recent versions for myself. It's tough. I've reached out to the MAUI team through multiple channels offering to help responsibly transition these bindings to community support if that's what needs to happen. No response yet, so here I am doing it again...

Do you think you could open source and create Nuget packages for those upgraded subsets of Firebase you mentioned? I think it will bring benefits to a lot of developers.

I have also tried to do some bindings to newest packages without luck 😞 . In fact, I have found this repository that is updated with the latest frameworks compiled that we can use, the only missing thing is that we need to so the bindings: https://github.com/akaffenberger/firebase-ios-sdk-xcframeworks

@czmirek
Copy link

czmirek commented Feb 25, 2024

I too wait for updated bindings. I wish I had time to update the bindings myself, I tried doing bindings for Android so I assume updating iOS bindings would be very time consuming as well :(

@mofdaddy
Copy link

@AdamEssenmacher
I have been trying to use Analytics and its dependencies Core and Installations, based on your repo.

It seems to build fine, but when I reference them in an app, I get clang arm64 errors when deploying to a physical device such as:

  • Undefined symbols for architecture arm64
  • ld: symbol(s) not found for architecture arm64

Do you have have an idea of why this happens. I tried both with net6.0-ios and net8.0-ios but no difference.

And thanks for your effort updating to 10.x since no one at Microsoft seems to care anymore!
For the first time since I wrote my first lines of code for monotouch in 2010, I am actually worried about the future of the platform.

@AdamEssenmacher
Copy link
Author

@mofdaddy are you referencing the binding projects directly, or using nugets? Are you running the dotnet cake build as described in the readme? My repo should produce working nugets of those libraries.

@mofdaddy
Copy link

mofdaddy commented Mar 28, 2024

@AdamEssenmacher
I was looking to just build the assemblies of those three as a temporary solution to reference locally - no nugets, hoped to avoid it for now.

What I did was running dotnet cake --target=externals and dotnet cake --names=Firebase.Analytics.

I then changed the csproj types to Microsoft.NET.Sdk and TargetFramework to net8.0-ios before running dotnet build -c:Release on Analytics.

No errors at all until referenced by the app.

Is that a naive approach?

@mofdaddy
Copy link

mofdaddy commented Mar 28, 2024

@AdamEssenmacher
Ok I started over and build all the nugets, then created a local feed from where i reference Xamarin.Firebase.iOS.Analytics 10.16.0.2.

The errors changed to this:

[targets]: error : clang++ exited with code 1: [csproj]
[targets]: error : ld: warning: Could not find or use auto-linked framework 'GoogleAppMeasurement' [csproj]
[targets]: error : Undefined symbols for architecture arm64: [csproj]
[targets]: error :   "_APMAnalyticsConfiguration", referenced from: [csproj]
[targets]: error :       +[FIRAnalytics startWithConfiguration:options:] in FirebaseAnalytics(FIRAnalytics.o) [csproj]
[targets]: error :   "_APMAppMeasurementOriginFirebase", referenced from: [csproj]
[targets]: error :       +[FIRAnalytics startWithConfiguration:options:] in FirebaseAnalytics(FIRAnalytics.o) [csproj]
[targets]: error :   "_APMConsentSettings3P", referenced from: [csproj]
[targets]: error :       +[FIRAnalytics setConsent:] in FirebaseAnalytics(FIRAnalytics.o) [csproj]
[targets]: error :   "_APMFormattedEventName", referenced from: [csproj]
[targets]: error :       +[FIRAnalytics logEventWithOrigin:name:parameters:] in FirebaseAnalytics(FIRAnalytics.o) [csproj]
[targets]: error :   "_APMFormattedUserPropertyName", referenced from: [csproj]
[targets]: error :       +[FIRAnalytics setUserPropertyString:forName:] in FirebaseAnalytics(FIRAnalytics.o) [csproj]
[targets]: error :   "_APMIsAnalyticsCollectionDeactivated", referenced from: [csproj]
[targets]: error :       +[FIRAnalytics startWithConfiguration:options:] in FirebaseAnalytics(FIRAnalytics.o) [csproj]
[targets]: error :   "_APMIsAnalyticsCollectionEnabled", referenced from: [csproj]
[targets]: error :       +[FIRAna [csproj]

[targets] = /usr/local/share/dotnet/packs/Microsoft.iOS.Sdk/17.2.8004/targets/Xamarin.Shared.Sdk.targets(1559,3)
I removed the path to the csproj file in [csproj].

Any ideas?

@AdamEssenmacher
Copy link
Author

I then changed the csproj types to Microsoft.NET.Sdk and TargetFramework to net8.0-ios

Can you try getting it working as-is before trying to update to .net8? I'm not sure that step is even necessary.

@mofdaddy
Copy link

That’s what I did when I started over and made the nugets. That was from scratch.
Just ran dotnet cake without changing anything.

@AdamEssenmacher
Copy link
Author

@mofdaddy this repo is a real pain. Make sure you delete the externals and output directories between runs.

I run the externals, libs, and nuget steps separately.

I can share some nugets with you if you can share a cloud drive. Or I might look into it if you can share a repro project.

@AdamEssenmacher
Copy link
Author

dotnet/maui#20359 (comment)

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

No branches or pull requests

7 participants