Waldo updates
Waldo updates

Simulators on Silicon






We are thrilled to announce that we are now offering to run simulators on Mac Silicon.

The reasons are obviously stated by the below video. When it comes to iOS 15 especially, Apple has really optimized performance for Silicon (or not optimized at all for Intel 🤷‍♂️).

We will soon require that all iOS simulator app builds uploaded to Waldo support the arm64 architecture going forward. And this is already a requirement in order to run your app on iOS 15.

Migrating Your iOS Simulator App to Apple Silicon

You can check what architectures you're currently building for by going to the Builds section of https://app.waldo.io and see if it lists arm64.

Screen Shot 2021-12-15 at 10.13.00 AM.png

If arm64 is already listed, you need do nothing. On the other hand, if you currently build your iOS simulator app for the x86_64 only, you will need to adjust your Xcode build configuration. Read on for details on how to accomplish this (spoiler: it is very easy).

How to build your iOS simulator app for the arm64 architecture

Xcode 12.2 and later automatically adds the arm64 architecture to the list of standard architectures for all iOS simulator binaries, including apps and libraries. During the debugging and testing process, Xcode builds only for the current system architecture by default. However, it automatically builds a universal binary for the release version of your code.

m1-build-settings.png Note that the popover menu reads Standard Architectures (arm64, armv7) - $(ARCHS_STANDARD) rather than something more expected, such as Standard Architectures (arm64, x86_64) - $(ARCHS_STANDARD). This is just a confusing quirk of Xcode. Rest assured that this is indeed the correct setting.

If you customized the Architectures build setting in your Xcode project, simply remove your customizations and use the Standard Architectures setting instead.

One more thing…

We recently made significant improvements to Waldo CLI, the Waldo Upload Bitrise step, and the waldo Fastlane plug-in. For best results, please ensure that you are using the most recent version of these tools in your CI workflow.

Refer to our document on CI Integration for the latest details.