-
Notifications
You must be signed in to change notification settings - Fork 5.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Xcode 14.3 Rosetta Simulators #21194
Comments
It seems like you have not included the output of |
also looking for a solution here, can't seem to find anything related with the xcodebuild command that allows us to determine the destination architecture of the simulator that is used when running build / test lanes. here is my fastlane env even though its not super relevant to the question :P `swift-driver version: 1.75.2 ✅ fastlane environment ✅Stack
System Locale
fastlane files:No Fastfile found No Appfile found fastlane gems
Loaded fastlane plugins:No plugins Loaded Loaded gems
generated on: 2023-04-13 |
The same issue happened to me as well, I couldn't build and run after updating Xcode14.3. All command mentioned above doesn't work for me as well. But when I build the project without Fastlane just using |
@elyahk Are you using any special parameters for the command? |
@kaulex99 I am using this command: |
I am in the same boat. |
Any update about this? |
Experiencing the same issue in my team. We are using Bitrise as our CI provider and they are deprecating their intel based machines in favour of the M1's so I really need to find a solution quick. @elyahk are you currently using this as a replacement for "run_tests" in your fastlane pipeline?
|
@Jride if the issue is fastlane then you can easily switch to the Bitrise "Xcode unit tests" step which just fires an xcodebuild cli |
@atmamont Our team has the problem with Bitrise too. The problem is not building on M1, but targeting arm64-simulator. The feature would help a lot. |
@bartlomiejswierad-vodeno good to know, but also you always have a fallback option no not use fastlane for tests targeting simulators, right? |
react-native-community/cli#1934 reveals the necessary change, append arch=x86_64 to build with a Rosetta simulator. e.g: |
@joshdholtz could you please assign this to someone 🙏🏻 this would be a pretty urgent change for us |
Looking into right now! |
@kaulex99 Can you run |
@joshdholtz Have the same output as you on my MacBook M1. Just with |
Ahhh yeah yeah! Need for intel 🤷♂️ I guess I could just SSH into a CircleCI job so I'll do that 😛 |
✨ PR is ready for review and testing! There is a new Instructions for testing are in PR description 👉 #21284 |
@joshdholtz Can confirm it works like a charm! 🎉 |
@mattilindell It fix the issue, but it always chooses first random simulators, event though I explicitly said iPhone version, it chose random simulator |
Yeah, I see the same with xcodebuild even though I specify the exact id of the destination... I have the below simulators:
Running as below will always select the first (14.5) destination: But when I instead specify ARCHS it correctly selects the iOS 16.4 destination. Reported issue: |
Can anyone confirm that providing the architecture in the destination is required ? In my setup (forcing the architecture to x86_64 for the iOS simulator platform via build setting), I can simply provide the exact simulator name (e.g. "iPhone 14 Pro") as destination argument to xcodebuild and the tests build and execute successfully. In Xcode 14.3 the simulators show up with the Rosetta suffix in the name, like "iPhone 14 Pro (Rosetta)" and I can also execute the tests in Xcode. Xcode 14.3 also is clever enough to show only the Rosetta iOS Simulators in the dropdown list as the standard arm64 Simulators cannot be used for my target with forced, exclusive x86_64 architecture. So in short, xcodebuild of Xcode 14.3 selects the correct rosetta simulator automatically if the target architecture is set to x86_64. |
@martin-friedli yes, but this does not apply for the CLI. Therefore, regardless of what I've set, fastlane scan command always used a non-Rosetta simulator. |
@martin-friedli Yes, as @kaulex99 said it works pretty well on local laptop, but CI, it is not, even though i installed local runner on my laptop it does not work properly. |
New Issue Checklist
Issue Description
Xcode 14.3 partly dropped the Rosetta 2 support for Xcode (Release Notes). Nevertheless, there is still an option to run on Rosetta Simulators (See Tutorial). I tried to force the simulator with the devices parameter which does not work:
Command executed
OR
Both are not working.
Complete output when running fastlane, including the stack trace and command used
Runs normally, but on Apple Silicon and not on Rosetta
Environment
For legal reasons, I can not provide the environment here. If necessary I can set up an example project causing that error.
The text was updated successfully, but these errors were encountered: