React native 0.77 iOS - Invalid Swift Support - The SwiftSupport folder is missing
Description
Hi
When attempting to upload a React Native app (version 0.77) we encountered the following error:
ITMS-90426: Invalid Swift Support - The SwiftSupport folder is missing. Rebuild your app using the current public (GM) version of Xcode and resubmit it.
If to check ipa folder we can see that content includes only 2 folders:
Payload Symbols
Could you please tell us why it does not include Swift Support folder?
Thank you
Steps to reproduce
In XCode
Select Produce-Archive -> after finish a window open -> distribute app -> custom -> app store connect -> export -> automatically manage siging -> export Replace .ipa file with .zip file
You will see only 2 folders:
Payload Symbols
React Native Version
0.77.1
Affected Platforms
Other (please specify)
Areas
Other (please specify)
Output of npx @react-native-community/cli info
System:
OS: macOS 15.4.1
CPU: (12) arm64 Apple M3 Pro
Memory: 103.80 MB / 18.00 GB
Shell:
version: "5.9"
path: /bin/zsh
Binaries:
Node:
version: 18.15.0
path: ~/.nvm/versions/node/v18.15.0/bin/node
Yarn:
version: 1.22.22
path: ~/Work/project/node_modules/.bin/yarn
npm:
version: 9.5.0
path: ~/.nvm/versions/node/v18.15.0/bin/npm
Watchman: Not Found
Managers:
CocoaPods:
version: 1.16.2
path: /Users/user/.rbenv/shims/pod
SDKs:
iOS SDK:
Platforms:
- DriverKit 24.2
- iOS 18.2
- macOS 15.2
- tvOS 18.2
- visionOS 2.2
- watchOS 11.2
Android SDK:
API Levels:
- "28"
- "31"
- "33"
- "34"
- "35"
Build Tools:
- 30.0.3
- 31.0.0
- 33.0.1
- 34.0.0
- 35.0.0
System Images:
- android-33 | Google Play ARM 64 v8a
- android-34 | Google APIs ARM 64 v8a
- android-34 | Google Play ARM 64 v8a
- android-35 | Google APIs ARM 64 v8a
Android NDK: Not Found
IDEs:
Android Studio: 2024.3 AI-243.24978.46.2431.13208083
Xcode:
version: 16.2/16C5032a
path: /usr/bin/xcodebuild
Languages:
Java:
version: 17.0.14
path: /usr/bin/javac
Ruby:
version: 2.6.10
path: /Users/user/.rbenv/shims/ruby
npmPackages:
"@react-native-community/cli":
installed: 15.0.1
wanted: 15.0.1
react:
installed: 18.3.1
wanted: 18.3.1
react-native:
installed: 0.77.2
wanted: ~0.77.1
react-native-macos: Not Found
npmGlobalPackages:
"*react-native*": Not Found
Android:
hermesEnabled: true
newArchEnabled: false
iOS:
hermesEnabled: true
newArchEnabled: true
Stacktrace or Logs
-
MANDATORY Reproducer
Screenshots and Videos
No response
[!WARNING] Could not parse version: We could not find or parse the version number of React Native in your issue report. Please use the template, and report your version including major, minor, and patch numbers - e.g. 0.76.2.
[!WARNING] Missing reproducer: We could not detect a reproducible example in your issue report. Reproducers are mandatory and we can accept only one of those as a valid reproducer:
- For majority of bugs: send us a Pull Request with the RNTesterPlayground.js edited to reproduce your bug.
- If your bug is UI related: a Snack
- If your bug is build/upgrade related: a project using our Reproducer Template
You can read more about about it on our website: How to report a bug.
[!WARNING] Could not parse version: We could not find or parse the version number of React Native in your issue report. Please use the template, and report your version including major, minor, and patch numbers - e.g. 0.76.2.
Which version of Xcode are you using to build? Starting from the 25th of April, you must use Xcode 16 to build and upload the apps to the App Store. https://developer.apple.com/news/upcoming-requirements/?id=02212025a
Version of XCode - 16.2
Can you try with Xcode 16.3? This is not something related to React Native. The error states that the app has not been created with the right version of Xcode. Are you archiving it from your laptop or by using some sort of CI system? We don't control that part of the build system.
With XCode 16.3 it also has 2 folders
As I said, we don't own that part of the build process. This is Xcode doing its thing to create the App. I think that SwiftSupport should be part of the Payload, tbf, but I'm not sure.
Hi
Thanks for reply
According to response from Apple team and they have the following:
the most common reason for this by this link: https://developer.apple.com/forums/thread/765288?page=1#809390022
This library needs to be built and embedded as a framework, which defines a specific layout of the binary and supporting files on disk within the application bundle. TN2435: Embedding Frameworks In An App is an older, but still relevant resource for how to accomplish this. If this library is one you build yourself, you may be better off statically linking it, so you can see Creating a static framework for help with that. And if you're getting it from a vendor, or building it outside of your app's build process, then the built framework needs to be placed inside of an XCFramework for consumption by your app. Creating a multi-platform binary framework bundle goes into detail on that subject.
We created reproduce example based on provided code in your reproducer repository (note: it has upper version of RN)
Could you please help us to understand issue based on test application that we have now? It does not include any external packages https://github.com/Relyon-ai/react-native-ios-build-issue/tree/branch-reproduce
Thanks for the reproducer. How can I reproduce the issue? This seems like a new app from the template.
Should I archive it? I don't have a way to upload it to the app store.
Also, can you try to create a simple new app, with no extra code, and upload that? If that works, it means that there is something wrong with your setup.
@nastyakatolikava Were you able to figure out this issue? We're having the same problem.
@VickyKoblinski how do you reproduce the problem? Does it happens also with a completely new app?