Closed MarkHesselberth closed 1 month ago
I'm using Plugin.Firebase which sits on top of this repo and had the same question https://github.com/TobiasBuchholz/Plugin.Firebase/issues/342
I think I almost have a full picture of what's going on here. The GoogleAppMeasurement binaries used to be distributed in two different frameworks: 'AdIdSupport' and 'WithoutAdIdSupport'.
In version 8.8, this was changed so that there is one regular xcframework 'GoogleAppMeasurement', and an optional 'GoogleAppMeasurementIdentitySupport'. The Microsoft team missed updating these, so as of version 8.8 the frameworks stopped getting included.
I'll put a new build together for 10.24.0.3 that should fix this and a few other bugs caught recently. While I'm in there, we'll see what we can do to get some version bumps up to 10.29 at least...
Plugin.Firebase would also need to be updated in parallel right? https://github.com/TobiasBuchholz/Plugin.Firebase/issues/342
Plugin.Firebase would also need to be updated in parallel right? TobiasBuchholz/Plugin.Firebase#342
We could, but it's not necessary. Once released, you can just pin 10.24.0.3 (or whatever it is) in your csproj.
Plugin.Firebase imports the minimum dependencies it needs to function. Developers have the freedom (and responsibility) to manage transient dependencies in the way that best works for them.
I think I almost have a full picture of what's going on here. The GoogleAppMeasurement binaries used to be distributed in two different frameworks: 'AdIdSupport' and 'WithoutAdIdSupport'.
In version 8.8, this was changed so that there is one regular xcframework 'GoogleAppMeasurement', and an optional 'GoogleAppMeasurementIdentitySupport'. The Microsoft team missed updating these, so as of version 8.8 the frameworks stopped getting included.
38 attempted to fix the problem, but as @MarkHesselberth has pointed out, both frameworks are needed now in the case that IdSupport is needed and GoogleAppMeasurement should always be included.
I'll put a new build together for 10.24.0.3 that should fix this and a few other bugs caught recently. While I'm in there, we'll see what we can do to get some version bumps up to 10.29 at least...
I can indeed confirm this will fix the issue mentioned here and also mentioned in #35, your reasoning is totally right!
This should be done now.
I might be missing something... I'm getting this exact error and I'm pointing to 10.29.0.1
<PackageReference Include="AdamE.Firebase.iOS.Analytics" Version="10.29.0.1" />
<PackageReference Include="AdamE.Firebase.iOS.Auth" Version="10.29.0.1" />
<PackageReference Include="AdamE.Firebase.iOS.Crashlytics" Version="10.29.0.1" />
<PackageReference Include="AdamE.Firebase.iOS.RemoteConfig" Version="10.29.0.1" />
I cleared bin/obj on all projects before running the build, I cleared nuget cache, nothing seems to work.
Is there any extra step required to get rid of this problem besides just referencing packages?
Be sure to clear the XamarinBuildDownloadCache too.
Thanks for your quick reply.
No luck for now @AdamEssenmacher even deleting XamarinBuildDownloadCache, it's weird... I thougth that maybe we were overriding _FCrDownloadedItems
somewhere but I couldn't find any evidence of it. But it's really strange that I'm getting exactly the same error as I if didn't have the fix.
I'll come back to this later as it's not super high priority and will update the ticket my findings, definitively it might be something related to my project.
With the NuGet package
AdamE.Firebase.iOS.Analytics v10.24.0.2
installed, the current line is logged on startup:I saw that a recent PR referred to a similar issue (but in the context of a user that specifically did not need the identity support): #38 That PR could probably fix the problem, but as far as I can tell this change has not been included in a release yet. I therefore attempted to create a local NuGet package for the current
main
branch.However, without changes, the NuGet package that was produced seemed to lack some dependencies. Including this in our project resulted in the following error message during compilation:
The line
ld: warning: Could not find or use auto-linked framework 'GoogleAppMeasurement'
lead me to believe that this framework should also be included. I created a quick and dirty build with both references by editingCore.targets
(temporarily dropping the option to toggle the ID support):I updated our iOS project with the NuGet package produced by this build, and it compiled successfully. It also did not produce the logs about
GoogleAppMeasurementIdentitySupport
, so it seemed to fix the issue.Do you (or does anyone else here) know anything more about the
GoogleAppMeasurementIdentitySupport
framework? I cannot really find any good documentation on it, so I'm not sure if my assumption that both of these frameworks should be included is correct.