GoogleApisForiOSComponents icon indicating copy to clipboard operation
GoogleApisForiOSComponents copied to clipboard

Xamarin.Firebase.iOS.Crashlytics 8.10.0.1 contains bitcode which is not supported anymore since Xcode 14

Open janwiebe-jump opened this issue 2 years ago • 9 comments

I created a new .NET MAUI app, and added the Xamarin.Firebase.iOS.Crashlytics 8.10.0.1 It looks like the bitcode isn't stripped from the included frameworks.

When building the app, and trying to submit it to the Apple App Store, I got the following error e-mail:

App Store Connect
 
Dear Developer,

We identified one or more issues with a recent delivery for your app, "myApp" 0.7.0 (11). Please correct the following issues, then upload again.

ITMS-90482: Invalid Executable - The executable 'MyApp.app/Frameworks/FBLPromises.framework/FBLPromises' contains bitcode.

ITMS-90482: Invalid Executable - The executable 'MyApp.app/Frameworks/FirebaseCore.framework/FirebaseCore' contains bitcode.

ITMS-90482: Invalid Executable - The executable 'MyApp.app/Frameworks/FirebaseCoreDiagnostics.framework/FirebaseCoreDiagnostics' contains bitcode.

ITMS-90482: Invalid Executable - The executable 'MyApp.app/Frameworks/FirebaseCrashlytics.framework/FirebaseCrashlytics' contains bitcode.

ITMS-90482: Invalid Executable - The executable 'MyApp.app/Frameworks/FirebaseInstallations.framework/FirebaseInstallations' contains bitcode.

ITMS-90482: Invalid Executable - The executable 'MyApp.app/Frameworks/GTMSessionFetcher.framework/GTMSessionFetcher' contains bitcode.

ITMS-90482: Invalid Executable - The executable 'MyApp.app/Frameworks/GoogleAPIClientForREST.framework/GoogleAPIClientForREST' contains bitcode.

ITMS-90482: Invalid Executable - The executable 'MyApp.app/Frameworks/GoogleDataTransport.framework/GoogleDataTransport' contains bitcode.

ITMS-90482: Invalid Executable - The executable 'MyApp.app/Frameworks/GoogleToolboxForMac.framework/GoogleToolboxForMac' contains bitcode.

ITMS-90482: Invalid Executable - The executable 'MyApp.app/Frameworks/GoogleUtilities.framework/GoogleUtilities' contains bitcode.

ITMS-90482: Invalid Executable - The executable 'MyApp.app/Frameworks/Protobuf.framework/Protobuf' contains bitcode.

ITMS-90482: Invalid Executable - The executable 'MyApp.app/Frameworks/leveldb.framework/leveldb' contains bitcode.

ITMS-90482: Invalid Executable - The executable 'MyApp.app/Frameworks/nanopb.framework/nanopb' contains bitcode.

I have tried to build with several options to strip the bitcode, however they don't work. Like:

<Target Name="BeforeCodesign">
		<Exec Command="$(_SdkDevPath)\Toolchains\XcodeDefault.xctoolchain\usr\bin\bitcode_strip %(_Frameworks.FullPath) -r -o %(_Frameworks.FullPath)" />
	</Target>

and

<MtouchEnableBitcode>false</MtouchEnableBitcode>

Both don't seem to work.

janwiebe-jump avatar Oct 17 '22 11:10 janwiebe-jump

Same problem, any workaround?

tom-b-iodigital avatar Oct 25 '22 19:10 tom-b-iodigital

I guess the first step is to wait for Google to release Firebase 10.1.0

https://github.com/firebase/firebase-ios-sdk/milestone/107?closed=1. Here you have a mention about bitcode removal

MWierzchowiecki avatar Oct 26 '22 06:10 MWierzchowiecki

I also struggled for a week and solved it a few days ago, but now the only way is to downgrade. VS 2022 17.3.5 Xcode 13.3

I'm currently testing it on Testflight and I'm about to review it.

shun9292 avatar Oct 27 '22 14:10 shun9292

Temporary workaround is to rebuild the nuget packages according to readme (I bumped the version in components.cake and bumped net6 -> net7 but it might not apply to your needs), added them to local nuget and used the higher version number, now it works with Xcode 14 and passed TestFlight checks

MWierzchowiecki avatar Oct 30 '22 18:10 MWierzchowiecki

I have tried above code lines but show the following error

The command "/Users/apple/Downloads/Xcode 2.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/bitcode_strip /Users/apple/.nuget/packages/harfbuzzsharp.nativeassets.ios/2.8.2.3/runtimes/ios/native/libHarfBuzzSharp.framework/libHarfBuzzSharp -r -o /Users/apple/.nuget/packages/harfbuzzsharp.nativeassets.ios/2.8.2.3/runtimes/ios/native/libHarfBuzzSharp.framework/libHarfBuzzSharp" exited with code 127. (MSB3073)

Please provide me a appropriate solution

vplife1 avatar Oct 19 '23 19:10 vplife1

@janwiebe-jump Have you found any solution to this issue? I am also facing same with .net maui 7.0 . @MWierzchowiecki @janwiebe-jump @shun9292 @tom-b-iodigital

vplife1 avatar Oct 23 '23 11:10 vplife1

@vplife1 what version of google apis are you using, also make sure you have bitcode disabled on build

MWierzchowiecki avatar Oct 23 '23 11:10 MWierzchowiecki

@MWierzchowiecki I am using Visual Studio 22 to develop a .net Maui v(0.7) app. There is no setting to disable the bit-code do you have any idea what I need to do for this?

vplife1 avatar Oct 23 '23 11:10 vplife1

@vplife1 have you found the way to disable bitcode mentioned by @MWierzchowiecki ?

alexshikov avatar Jan 25 '24 13:01 alexshikov