iOS 18.3.1 - runtime vs version number

Not sure if this is common with releases but I've been doing some CI work recently so it's the first time I've seen this myself,

When I list the runtimes installed on my machine:

xcrun simctl list runtimes

I notice the iOS 18.3.1 release has the below info:

== Runtimes ==

iOS 18.3 (18.3.1 - 22D8075) - com.apple.CoreSimulator.SimRuntime.iOS-18-3

Meanwhile the other runtimes are listed as:

== Runtimes ==

iOS 17.5 (17.5 - 21F79) - com.apple.CoreSimulator.SimRuntime.iOS-17-5

iOS 18.4 (18.4 - 22E5216h) - com.apple.CoreSimulator.SimRuntime.iOS-18-4

watchOS 11.2 (11.2 - 22S99) - com.apple.CoreSimulator.SimRuntime.watchOS-11-2

visionOS 2.3 (2.3 - 22N895) - com.apple.CoreSimulator.SimRuntime.xrOS-2-3

(Apologies for the weird formatting above, using code blocks and quote markdown condenses things down to one line for some reason)

This is causing some funkiness in my CI code which I've managed to workaround, but wondered if this was a common thing, specifically the mismatch between the iOS name and the runtime version.

iOS 18.3 and com.apple.CoreSimulator.SimRuntime.iOS-18-3 vs 18.3.1 - 22D8075 where the .1 has been dropped for the runtime names?

Answered by Developer Tools Engineer in 830842022

The identifier for the runtime just typically includes the major and minor version number. The idea being that users do not want / need to differentiate between versions of that third tuple version. They're "just" bugfix updates and you would typically only ever have the newest one.

The identifier for the runtime just typically includes the major and minor version number. The idea being that users do not want / need to differentiate between versions of that third tuple version. They're "just" bugfix updates and you would typically only ever have the newest one.

iOS 18.3.1 - runtime vs version number
 
 
Q