Cannot deploy my .Net MAUI app on App Store

Dmitriy Reznik 236 Reputation points
2022-11-21T01:25:07.647+00:00

I created a .Net MAUI app. I build it using Azure yaml pipeline. It works well when I install it on various devices from AppCenter. But when I try to push the iOS version to AppStore, it is rejected with many errors:

ITMS-90482: Invalid Executable - The executable 'MyApp.app/Frameworks/AppAuth.framework/AppAuth' contains bitcode.
ITMS-90482: Invalid Executable - The executable 'MyApp.app/Frameworks/FBAEMKit.framework/FBAEMKit' contains bitcode.
ITMS-90482: Invalid Executable - The executable 'MyApp.app/Frameworks/FBLPromises.framework/FBLPromises' contains bitcode.
ITMS-90482: Invalid Executable - The executable 'MyApp.app/Frameworks/FBSDKCoreKit.framework/FBSDKCoreKit' contains bitcode.
ITMS-90482: Invalid Executable - The executable 'MyApp.app/Frameworks/FBSDKCoreKit_Basics.framework/FBSDKCoreKit_Basics' contains bitcode.
ITMS-90482: Invalid Executable - The executable 'MyApp.app/Frameworks/FBSDKGamingServicesKit.framework/FBSDKGamingServicesKit' contains bitcode.
ITMS-90482: Invalid Executable - The executable 'MyApp.app/Frameworks/FBSDKLoginKit.framework/FBSDKLoginKit' contains bitcode.
ITMS-90482: Invalid Executable - The executable 'MyApp.app/Frameworks/FBSDKShareKit.framework/FBSDKShareKit' contains bitcode.
ITMS-90482: Invalid Executable - The executable 'MyApp.app/Frameworks/FacebookGamingServices.framework/FacebookGamingServices' contains bitcode.
ITMS-90482: Invalid Executable - The executable 'MyApp.app/Frameworks/FirebaseABTesting.framework/FirebaseABTesting' contains bitcode.
ITMS-90482: Invalid Executable - The executable 'MyApp.app/Frameworks/FirebaseAuth.framework/FirebaseAuth' 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/FirebaseDynamicLinks.framework/FirebaseDynamicLinks' contains bitcode.
ITMS-90482: Invalid Executable - The executable 'MyApp.app/Frameworks/FirebaseFirestore.framework/FirebaseFirestore' contains bitcode.
ITMS-90482: Invalid Executable - The executable 'MyApp.app/Frameworks/FirebaseFunctions.framework/FirebaseFunctions' 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/FirebaseMessaging.framework/FirebaseMessaging' contains bitcode.
ITMS-90482: Invalid Executable - The executable 'MyApp.app/Frameworks/FirebaseRemoteConfig.framework/FirebaseRemoteConfig' contains bitcode.
ITMS-90482: Invalid Executable - The executable 'MyApp.app/Frameworks/FirebaseStorage.framework/FirebaseStorage' contains bitcode.
ITMS-90482: Invalid Executable - The executable 'MyApp.app/Frameworks/GTMAppAuth.framework/GTMAppAuth' 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/absl.framework/absl' contains bitcode.
ITMS-90482: Invalid Executable - The executable 'MyApp.app/Frameworks/grpc.framework/grpc' contains bitcode.
ITMS-90482: Invalid Executable - The executable 'MyApp.app/Frameworks/grpcpp.framework/grpcpp' 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.
ITMS-90482: Invalid Executable - The executable 'MyApp.app/Frameworks/openssl_grpc.framework/openssl_grpc' contains bitcode.
Though you are not required to fix the following issues, we wanted to make you aware of them:
ITMS-90683: Missing purpose string in Info.plist - Your app’s code references one or more APIs that access sensitive user data, or the app has one or more entitlements that permit such access. The Info.plist file for the “MyApp.app” bundle should contain a NSLocationWhenInUseUsageDescription key with a user-facing purpose string explaining clearly and completely why your app needs the data. If you’re using external libraries or SDKs, they may reference APIs that require a purpose string. While your app might not use these APIs, a purpose string is still required. For details, visit: https://developer.apple.com/documentation/uikit/protecting_the_user_s_privacy/requesting_access_to_protected_resources.

I read a suggestion to build against xCode 14. Not sure how that should be done. I tried to replace vmImage in

pool:  
  vmImage: 'macOS-12'  
  demands:  
  - MSBuild  

to 'macos-latest', but then task
dotnet publish /Users/runner/work/1/s/LATICRETE_MobileApp.sln -f:net6.0-ios -c:Debug -r ios-arm64 /p:ArchiveOnBuild=true /p:EnableAssemblyILStripping=false

fails with errors
Undefined symbols for architecture arm64... etc.

So I guess macOS-12 should stay. Please advise how I can solve this problem.

.NET MAUI
.NET MAUI
A Microsoft open-source framework for building native device applications spanning mobile, tablet, and desktop.
3,541 questions
0 comments No comments
{count} vote

1 answer

Sort by: Most helpful
  1. Dmitriy Reznik 236 Reputation points
    2022-11-22T12:54:40.4+00:00

Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.