Error when uploading PKG file for MacOS app

We distribute a Mac App as a PKG to the app store. This pkg embed iOS framework as xcframeworks. When we tried to upload the .pkg to App store we got the following error:
 

TMS-90869: Invalid Bundle - The bundle 'SAP Cloud Platform SDK for iOS
Assistant.app/Contents/Resources/iOSFrameworks/Release-xcframework/SAPCommon.xcframework/ios-arm64/SAPCommon.framework'
supports arm64 but not Intel. Your build must include the x86
64 architecture to support Intel. For more about supporting Intel-based Mac computers, see: https://developer.apple.com/documentation/xcode/building_a_universal_macos_binary_
 

The current xcframework structure looks like the following:

 
xxxx.xcframework
|
___ info.plist (file)
|     
____ ios-arm64(directory)
|
____ ios-x8664-maccatalyst(directory) 
|  
___ ios-x8664-simulator(directory)

 
But as per the error, we have to produce one universal FAT binary with two architecture(arm64 and x86_64). Is this the case? Doesn’t xcframwork already embed both architectures?
It looks like the App Store ingestion process is not paying attention to the platform that this code is targeting. I think that warrants a bug report. Please post your bug number, just for the record.

As to what you can do about that, let me start by clarifying your goals here. My impression is that your app is embedding an iOS SDK, so the code in this framework is never meant to run on the Mac. Is that right?

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@apple.com"
Hi eskimo,

Thanks for replying to this. To answer your question: yes, these are mainly iOS frameworks used in iOS applications, bundled in a MacOS application PKG. But the xcframeworks also support Mac Catalyst in addition to iPhoneOS and iPhoneSimulator.


Hi eskimo,

Thanks for replying to this. To answer your question: yes, these are mainly iOS frameworks used in iOS applications, bundled in a MacOS application PKG. But the xcframeworks also support Mac Catalyst in addition to iPhoneOS and iPhoneSimulator.


@Ponraj, Are you and irinafromvancouver working on the same app? Or is this two separate instances of this issue?



My general advice when submitting code to Apple — either to the Mac App Store or the notary service — is that you must make sure that Apple ‘sees’ all the code that could run on your target platform. So, for example, if you notarise a Mac app that includes iOS SDK bits then it’s fine to hide the iOS stuff from the notary service because it can’t run on the target platform.

In this case I think it’s reasonable to hide the XCFramework from the App Store ingestion process because that code can’t run on the Mac. If one of your users takes that code and builds it into an iOS app, they become responsible for submitting that app to the iOS App Store, and thus Apple gets to see the code at that stage.

The Mac Catalyst side of this presents an interesting edge case because that can run on the Mac. I’m not sure how to advise you on that front. I think you should file your bug and then talk to the App Store Connect support folks about what to do.

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@apple.com"
Hi eskimo!

Thanks for all your feedback. Yes, we are working on the same app.

I have opened a bug report as suggested: https://feedbackassistant.apple.com/feedback/8983679

Bug number: FB8983679

Thank you!
Irina
Error when uploading PKG file for MacOS app
 
 
Q