iOS Previous Simulator Builds When Targeting Latest Xcode in Stack

#1

I am using the Xcode Build for Simulator step to create simulator builds for our automation test engineers that can be uploaded to SauceLabs for automation testing. SauceLabs usually takes a bit before they support the latest version of iOS simulators and therefore we need to target older versions of iOS for these (eg they currently only support 14.0 and 14.3). I noticed that when I target Xcode 12.4 in the stack this step cannot find 14.3 simulators (assuming because only 14.4 simulators are installed on this stack). However, if I target Xcode 12.3 in the stack it finds them.

How can we configure the stack offerings to have all major versions of the iOS simulators downloaded so I am able to target whatever version I’d like to compile against (eg target Xcode 12.4 but create a build for iOS 14.3 simulators). Having a dependency like this will prevent us from staying on the latest Xcode stack when building our device builds.

Goal:
Workflow Stack Target: Xcode 12.4
Device build against iOS 14.4
Simulator build against iOS 14.3

I hope this all makes sense. Please let me know if I can provide any more information to clear it up.

Thanks,
Mike

0 Likes

#2

You can find out what is pre-installed on each stack by reviewing the system reports. In general, I believe we install the prebuilt versions provided by Apple. If you need a version that is not installed, you will need to add a script step and create it. Here is an example:

To create simulator for iPad Pro 10.5 inch for Xcode 11.3 stack:

xcrun simctl create “iPad Pro (10.5-inch)” com.apple.CoreSimulator.SimDeviceType.iPad-Pro–10-5-inch- com.apple.CoreSimulator.SimRuntime.iOS-13-3

Hope this helps,

Cathy

0 Likes