AdamEssenmacher / GoogleApisForiOSComponents

A community-supported fork of the abandoned Xamarin.iOS.* binding libraries from Microsoft
MIT License
39 stars 7 forks source link

Validate Firebase remote config #4

Closed Marc-Antoine-Soucy closed 1 day ago

Marc-Antoine-Soucy commented 2 months ago

I Would like to use firebase real time remote config in a project, and this functionality has a dependency on the SDK v10.7.0+. I was wondering if there was any plan to update this SDK?

If not, is there any documentation that you would recommend that I could follow/ checkout to know what it would take to update this SDK?

Thank you

AdamEssenmacher commented 2 months ago

@Marc-Antoine-Soucy I don't use RemoteConfig personally, so I don't have an easy way to validate new bindings without going out of my way.

I'm willing to publish upgraded bindings for remote config if you'll work with me to validate them.

Marc-Antoine-Soucy commented 2 months ago

That would be great. I think I will start working on it next week (but it depends on a few other things, so, I'm not 100% sure). So, yeah, I'm not sure how we should organize this? Should I ping you when I'm ready to start working on it?

AdamEssenmacher commented 2 months ago

I'm actively working on bumping versions from 10.16 to at least 10.22 ahead of the privacy manifest doomsday. I'll start including remote config bindings with a -beta preview version. Try it out and if it works I'll release it generally.

Marc-Antoine-Soucy commented 2 months ago

thanks

AdamEssenmacher commented 1 month ago

@Marc-Antoine-Soucy please give the bindings a try and let me know if they're working for you or not so we can drop the -alpha tag

Marc-Antoine-Soucy commented 1 month ago

As soon as I start testing, I will give an update. But, it might take a bit longer than I originally expected.

Marc-Antoine-Soucy commented 4 weeks ago

I have the same problem as https://github.com/AdamEssenmacher/GoogleApisForiOSComponents/issues/21.

@AdamEssenmacher

When I try to rebuild I get this error: 4>C:\N\xamarin.build.download\0.11.0\buildTransitive\Xamarin.Build.Download.targets(52,3): error XBD008: Timed out waiting for exclusive file lock on: C:\Users\ma.soucy\AppData\Local\XamarinBuildDownloadCache\GAppM-10.24.0.locked

A coworker also tried and got this same error

AdamEssenmacher commented 4 weeks ago

I don't even have a working windows setup right now where I could try to reproduce this. However, I'm pretty sure there are other windows users that aren't having this issue, and it certainly works fine on Mac.

The fact that your coworker is seeing the same issue makes me think your problem could be related to this issue, but that's just a stab in the dark from me.

Marc-Antoine-Soucy commented 4 weeks ago

Actually, I just noticed it was partly because I was stubbornly trying to use the latest nuget, with the 10.22 nuget, It seems like it works better. I still have issues, but the errors are coming from the Firebase.iOS.Core nuget /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/bitcode_strip: missing argument(s) to: -o option and error MSB3073: The command ""$(xcrun -find bitcode_strip)" -r -o " exited with code 1. are coming from Firebase.IOS.Core, so, I'm going to look around to see if a solution for those was already found.

Marc-Antoine-Soucy commented 4 weeks ago

https://github.com/AdamEssenmacher/GoogleApisForiOSComponents/issues/19 I tried their workaround, and it didnt work, there are a few things I want to try thought, I will continue tomorrow.

AdamEssenmacher commented 4 weeks ago

Firebase.iOS.Core 10.24.0.1 has the bitcode targets removed.

I really can't think of a reason 10.22 would behave differently than 10.24 regarding the .locked file. It really seems like an XBD problem. Try clearing C:\Users\ma.soucy\AppData\Local\XamarinBuildDownloadCache.

Did you try disabling your antivirus?

pinkysek commented 4 weeks ago

I have the same problem as #21.

@AdamEssenmacher

When I try to rebuild I get this error: 4>C:\N\xamarin.build.download\0.11.0\buildTransitive\Xamarin.Build.Download.targets(52,3): error XBD008: Timed out waiting for exclusive file lock on: C:\Users\ma.soucy\AppData\Local\XamarinBuildDownloadCache\GAppM-10.24.0.locked

A coworker also tried and got this same error

did you solved this issue? I'm trying everything, but nothing works.

Marc-Antoine-Soucy commented 4 weeks ago

I have not, I asked some people to disable my antivirus in case that was it but the request is still processing. Do you know if it could possibly be an antivirus thing in your case too? If not, then I guess it's good to know.

pinkysek commented 4 weeks ago

I have not, I asked some people to disable my antivirus in case that was it but the request is still processing. Do you know if it could possibly be an antivirus thing in your case too? If not, then I guess it's good to know.

I think it's not antivirus related. I tried turn off Windows Defender manually and via Defender Controller too and still same issue. I don't know why GAppM-10.23.0 working fine but GAppM-10.24.0 not. I can see in XamarinBuildDownloadCache folder GAppM-10.24.0.locked but not GAppM-10.24.0.unpacked.

AdamEssenmacher commented 4 days ago

This was reported at Plugin.Firebase, but a repro project was provided.

For some additional context, 'GAppM' is specifically an iOS dependency.

The following .csproj is invalid:

<Project Sdk="Microsoft.NET.Sdk">
    <PropertyGroup>
        <TargetFrameworks>net8.0-android;net8.0-ios;</TargetFrameworks>
    </PropertyGroup>
...
    <ItemGroup>
        <PackageReference Include="AdamE.Firebase.iOS.Core" Version="10.24.0.2" />
    </ItemGroup>
</Project>

AdamE.Firebase.iOS.Core targets net6.0-ios16.1 and Xamarin.iOS only, so adding it as a dependency to a project that also targets net8.0-android (or any other target frameworks) is likely to cause a problem. If you reference these AdamE.Firebase.iOS.* packages directly in a MAUI project file, they need to be conditionally included e.g.:

<ItemGroup Condition="'$(TargetFramework)' == 'net8.0-ios'">
    <PackageReference Include="AdamE.Firebase.iOS.Core" Version="10.24.0.2" />
</ItemGroup>
ksoftllc commented 1 day ago

I added the condition to the repro project and the build seems to have resolved. I suspect that in parallel VS is trying to build for iOS and Android and extracting GAppM for both threads, which may lead to 7-Zip hanging for confirmation that you intend to skip/overwrite. The repro projec now builds without issue.