xamarin / GoogleApisForiOSComponents

MIT License
225 stars 156 forks source link

Xamarin.Firebase.iOS.Database .Net iOS issue on the AppStore #617

Open fdhsdrdark opened 1 year ago

fdhsdrdark commented 1 year ago

Hello,

I'am in the process of upgrading my current traditional Xamarin iOS app to .Net iOS. I have used the latest Xamarin.Firebase.iOS.Database nuget package (8.10.0.3) and had no issues on a physical device test.

When I uploaded my app on the App Store however I got an email about the app being rejected, with the following "The app references non-public symbols in MyAppName: _ubrk_openRules, _ucal_add, _ucal_close, _ucal_get, _ucal_getAttribute, _ucal_getKeywordValuesForLocale, _ucal_getNow, _ucal_getTimeZoneDisplayName, _ucal_getTimeZoneIDForWindowsID, _ucal_getWindowsTimeZoneID"...

I concluded that Xamarin.Firebase.iOS.Database is the offended package because I removed all my nuget references one by one until I got the 'Processing Completed' mail from the Appstore when Xamarin.Firebase.iOS.Database was removed.

I have also tried the previous version in case it's not rejected (8.10.1) but without any luck. (With version 8.10.1 the issue about contained bitcode also appeared, tackled here https://github.com/dotnet/maui/issues/10989 ) I also changed my iOS project from .Net 7 to .Net6. No luck with that change either.

The supplementary Xamarin.Firebase.iOS.Auth package on latest version 8.10.3 has no issues.

Visual Studio for Mac version 17.5.4 Microsoft.iOS version 16.2.2054 Xcode version version 14.3

Thanks very much for any input.

fdhsdrdark commented 11 months ago

Hello,

Having to return to this issue - it's still preventing from uploading on the App store. Since Xamarin.Firebase.iOS.Database package is downloaded more 3K times, seems weird no-one had the issue above.
I searched as much as I could and everything pointed to the build configuration and mainly the Linking.

I have set the release configuration as described here.

Checked also the migration instructions for the release configuration here.

I have downloaded all latest workloads/updated suggested from Visual Studio. Checked the Solution/Project Configuration, in case something was not picked up and tried even the following minimal configuration generated by Visual Studio for Mac.

    <MtouchLink>SdkOnly</MtouchLink>
    <Optimize>true</Optimize>
    <CreatePackage>false</CreatePackage>
    <MtouchFloat32>true</MtouchFloat32>
    <DefineConstants>__IOS__;__MOBILE__;__UNIFIED__;TRACE;RELEASE;NET;NET7_0;NETCOREAPP</DefineConstants>    
    <MtouchUseLlvm>false</MtouchUseLlvm>

I tried "Link All" as the Linker behaviour and also updated Xamarin.Build.Download(from 0.11.0 to 0.11.4) that is internally used by Xamarin.Firebase.iOS.Database, no luck.

I uploaded with more than 15 configuration alternatives, all rejected with the same error message. If someone has managed to successfully upload on the AppStore a project with Xamarin.Firebase.iOS.Database included, would it be possible to share the release configuration?Or a tip on what may be going wrong?

@SotoiGhost Really sorry for tagging you on this - I was hoping some input based on what was mentioned on this issue "Let us know if anything happens related to these new frameworks and Apple."

Thank you very much.

arjunkr92 commented 9 months ago

Same issue so changed the plugin.

Currently trying this one: https://github.com/TobiasBuchholz/Plugin.Firebase/tree/development Will update the comment, if the app is accepted at the store.

=================================== I used FirebaseDatabase.net Nuget Pack to implement Firebase Realtime functionality, as Plugin.Firebase only supports Firestore. The App has been submitted to app store and is currently under review.

ia3n commented 2 months ago

April 2024 and experiencing the same issue uploading a MAUI iOS project with Xamarin.Firebase.iOS.Database. Did anyone find a fix or workaround (aside from using a different nuget?)

Seems like this issue is going nowhere. I get the feeling the Microsoft MAUI team are likely testing new build candidates of Xamarin.Firebase.iOS.Database on Release mode sample apps and deciding it's good enough if they compile, not actually checking if they can submit to the store...